Py.test运行直到通过装饰器

kur*_*urd 3 python pytest

我有一些测试可以上传不同的数据(音乐,视频)并从服务中获取元数据.

所以time.sleep()是一种非常糟糕的方式,因为不同的服务器和情况可能使系统过载.

所以我正在寻找特殊的装饰器或参数来设置.像这样的东西

@fails(10)
def test_get_info(self):
    assert info == 1
Run Code Online (Sandbox Code Playgroud)

在10次尝试之后断言仍然失败 - 引发异常.

谢谢.

jfs*_*jfs 7

你可以使用retry装饰器:

@retry(AssertionError, tries=10)
def test_get_info(self):
    assert info == 1
Run Code Online (Sandbox Code Playgroud)

注意:它并没有考虑到setup,teardown方法.