Library like fakeweb for Python
I really like the way fakeweb in Ruby can be used to fake http requests when testing. Is there a开发者_如何学运维 similar library or an alternative for Python?
See also How can one mock/stub python module like urllib . The answer that recommends Mox seems the most like fakeweb, but Mox lets you create fake versions of any module, not just urllib.
For incoming requests, if your web framework uses WebOb (repoze.bfg, Pylons others), you can use webob.Request.blank
.
from webob import Request
r = Request.blank('/')
a_view_function(r)
HTTPretty works in the exact same way that FakeWeb does. HTTPretty works in the socket layer, so it should work intercepting any python http client libraries. It's battle tested against urllib2, httplib2 and requests
I recomend you produce a fake inteface to HTTP request like in questions 1016765 how-to-use-cookielib-with-httplib-in-python.
精彩评论