作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 tenacity库使用它的 @retry
装饰器。
我正在使用它来制作一个函数,在失败的情况下使 HTTP 请求“重复”多次。
这是一个简单的代码片段:
@retry(stop=stop_after_attempt(7), wait=wait_random_exponential(multiplier=1, max=60))
def func():
...
requests.post(...)
该函数使用 tenacity wait
参数在调用之间等待一段时间。
该函数与 @retry
装饰器一起使用似乎工作正常。
但我还有一个单元测试,它检查函数在失败的情况下是否确实被调用了 7 次。由于两次尝试之间的等待
,此测试需要花费大量时间。
是否可以仅在单元测试中以某种方式禁用等待时间?
最佳答案
解决方案来自这个 Github 问题中坚韧的维护者本人:https://github.com/jd/tenacity/issues/106
您可以简单地临时更改等待函数以进行单元测试:
from tenacity import wait_none
func.retry.wait = wait_none()
关于python 坚韧重试,为单元测试禁用 `wait`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47906671/
我定义了这个结构: struct s_molecule { std::string res_name; std::vector my_particles; std::vector my_b
我是一名优秀的程序员,十分优秀!