【发布时间】:2017-12-20 13:00:45
【问题描述】:
我正在使用tenacity 库来使用它的@retry 装饰器。
我正在使用它来创建一个函数,该函数会在失败的情况下多次“重复”HTTP 请求。
这是一个简单的代码sn-p:
@retry(stop=stop_after_attempt(7), wait=wait_random_exponential(multiplier=1, max=60))
def func():
...
requests.post(...)
该函数使用坚韧wait-argument 在调用之间等待一段时间。
该函数与@retry-decorator 一起似乎工作正常。
但我也有一个单元测试,它检查函数在失败的情况下确实被调用了 7 次。由于此wait in beetween 尝试,此测试需要大量时间。
是否可以仅在单元测试中以某种方式禁用等待时间?
【问题讨论】:
-
我真的对tenacy一无所知,但是您可以将时间定义为局部变量并在测试中将其值替换为wait=0
标签: python unit-testing python-tenacity