类似于fakeweb的Python库

8 投票
3 回答
977 浏览
提问于 2025-04-15 18:38

我很喜欢Ruby中的fakeweb这个工具,它可以在测试时模拟http请求。请问Python有没有类似的库或者替代方案呢?

3 个回答

1

我建议你创建一个假的接口来处理HTTP请求,就像在这个问题中提到的那样。

2

HTTPretty 的工作原理和 FakeWeb 一模一样。HTTPretty 在网络连接的底层工作,所以它可以拦截任何 Python 的 HTTP 客户端库。它已经经过了 urllib2、httplib2 和 requests 的实际测试。

3

另外可以参考一下这个链接:如何模拟或替代像urllib这样的Python模块。里面提到的一个推荐工具是Mox,它最像fakeweb,但Mox的功能更强大,可以创建任何模块的假版本,而不仅仅是urllib。

如果你在处理传入的请求,并且你的网络框架使用的是WebOb(比如repoze.bfgPylons等),你可以使用webob.Request.blank来处理。

from webob import Request
r = Request.blank('/')
a_view_function(r)

撰写回答