【发布时间】:2010-01-29 13:42:15
【问题描述】:
我真的很喜欢 Ruby 中的 fakeweb 在测试时可以用来伪造 http 请求的方式。是否有类似的库或 Python 的替代品?
【问题讨论】:
我真的很喜欢 Ruby 中的 fakeweb 在测试时可以用来伪造 http 请求的方式。是否有类似的库或 Python 的替代品?
【问题讨论】:
另见How can one mock/stub python module like urllib。推荐 Mox 的答案似乎最像 fakeweb,但 Mox 允许您创建任何模块的假版本,而不仅仅是 urllib。
对于传入的请求,如果您的 Web 框架使用 WebOb(repoze.bfg、Pylons 其他),则可以使用 webob.Request.blank。
from webob import Request
r = Request.blank('/')
a_view_function(r)
【讨论】:
HTTPretty 的工作方式与 FakeWeb 完全相同。 HTTPretty 在套接字层工作,因此它应该可以拦截任何 python http 客户端库。它已经针对 urllib2、httplib2 和请求进行了实战测试
【讨论】:
我建议您为 HTTP 请求生成一个假接口,例如 questions 1016765 how-to-use-cookielib-with-httplib-in-python。
【讨论】: