Pun*_*cky 6 python pytest python-3.x
我正在使用下面的代码来执行指数重试。我已将重试设置为 5。作为单元测试的一部分,我正在模拟响应并返回状态代码 503。但是,当我使用此单元测试时,我没有看到执行了 5 次重试。我应该对单元测试进行哪些更改以验证 session.get 已重试 5 次?
try:
max_retries = Retry(total=retries, backoff_factor=5, status_forcelist=[500, 502, 503, 504, 429])
self.session.mount('https://', HTTPAdapter(max_retries=max_retries))
# Perform GET request
response = self.session.get(url, verify=verify)
except Exception as e:
print(f" Exception occured {e}")
return response
Run Code Online (Sandbox Code Playgroud)
单元测试
def test_my_function_retries(self):
responses.add(responses.GET,
'https://requesturl',
json={}, status=503)
request.get()
Run Code Online (Sandbox Code Playgroud)
我能够使用 httpretty 来测试重试
@httpretty.activate
def test_my_function(self):
httpretty.register_uri(
httpretty.GET,
url,
responses=[
httpretty.Response(
body='{}',
status=503,
),
]
)
my_class = MyClass()
my_class.my_function()
print(len(httpretty.latest_requests()))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
948 次 |
| 最近记录: |