【发布时间】:2019-06-19 01:29:36
【问题描述】:
编辑:由于 Tenacity 是最近的重试,所以这个问题可以被认为是链接问题的重复,解决方案是升级到 Tenacity。
类似于this question,我想在python中对一个具有重试装饰器的函数进行单元测试:
from retrying import retry # from retrying pypi module
WAIT_EXPONENTIAL_MULTIPLIER = 4 * 1000 # ms
STOP_MAX_ATTEMPT_NUMBER = 5
@retry(
wait_exponential_multiplier=WAIT_EXPONENTIAL_MULTIPLIER,
stop_max_attempt_number=STOP_MAX_ATTEMPT_NUMBER
)
def get_from_remote(key):
raise ValueError() # for example
在我的单元测试中,有时我想调用此函数而不重试,有时使用不同的参数。
我尝试在setUp()/tearDown() 中设置变量,但没有成功。我尝试修补重试装饰器,但它也不起作用。
【问题讨论】:
标签: python mocking python-unittest python-tenacity