关于测试:像Python的fakeweb这样的库

Library like fakeweb for Python

我真的很喜欢Ruby中的fakeweb在测试时可以用来伪造http请求的方式。 是否有类似的库或Python的替代库?


另请参阅如何像urllib这样的模拟/存根python模块。 推荐Mox的答案似乎最像fakeweb,但是Mox允许您创建任何模块的伪版本,而不仅仅是urllib。

对于传入的请求,如果您的Web框架使用WebOb(repoze.bfg,Pylons等),则可以使用webob.Request.blank

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

HTTPretty的工作方式与FakeWeb完全相同。 HTTPretty在套接字层工作,因此它应能拦截任何python http客户端库。 经过针对urllib2,httplib2和请求的测试


我建议您为HTTP请求生成一个伪造的接口,例如1016765问题(如何在python中使用cookielib和httplib-in-python)。