HTTPretty没有请求如何声明URL

时间:2014-03-09 23:52:09

标签: python httpretty

在Python单元测试中使用HTTPretty拦截HTTP请求时,如何判断是否从未请求过目标URL?

1 个答案:

答案 0 :(得分:0)

默认情况下,如果请求与其经过的任何已注册URI匹配。

一种解决方案是使用Matching regular expressions添加通用匹配器并使其失败。

>>> httpretty.register_uri(httpretty.GET,
...                        re.compile(".*"),
...                        status=500,
...                        body="Fail")
...
>>> requests.get("http://www.google.ch/")
<Response [200]>
>>> httpretty.activate()
>>> requests.get("http://www.google.ch/")
<Response [500]>

当然,在这种情况下,您的申请必须失败。另一个想法可能是使用记录。

另一个想法是使用HTTPretty.record然后分析生成的文件。但感觉有点复杂。