在Python单元测试中使用HTTPretty拦截HTTP请求时,如何判断是否从未请求过目标URL?
答案 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
然后分析生成的文件。但感觉有点复杂。