类似于fakeweb的Python库
我很喜欢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.bfg、Pylons等),你可以使用webob.Request.blank
来处理。
from webob import Request
r = Request.blank('/')
a_view_function(r)