使用 Python 的HTTPretty库,我可以为我的单元测试创建模拟 HTTP 响应。当我正在测试的代码运行时,而不是我的请求到达第三方,请求被拦截并且我的代码接收到我配置的响应。
然后我使用last_request()
并可以检查我的代码请求的 url、任何参数等。
我想知道如何不仅可以访问最后一个请求,还可以访问我的代码在最后一个请求之前发送的任何其他请求。
这似乎是可能的。在文档中,它使用了一个名为latest_requests
. 例如这里
但这似乎对我不起作用。我得到一个 AttributeErrorAttributeError: module 'httpretty' has no attribute 'latest_requests'
这是一些代码,说明了我正在尝试做的事情以及我在哪里得到 AttributeError
import httpretty
import requests
httpretty.enable()
httpretty.register_uri(
method=httpretty.GET,
uri='http://www.firsturl.com',
status=200,
body='First Body'
)
httpretty.enable()
httpretty.register_uri(
method=httpretty.GET,
uri='http://www.secondurl.com',
status=200,
body='secondBody'
)
firstresponse = requests.get('http://www.firsturl.com')
secondresponse = requests.get('http://www.secondurl.com')
print(httpretty.latest_requests[-1].url)
# clean up
httpretty.disable()
httpretty.reset()
谢谢!!