我的测试套件中有25个测试脚本。当我执行所有脚本时,每次都会有2或3个will脚本失败。如果我只是重新运行那些失败的脚本,它就会通过
我正在寻找一种方法来执行所有25个测试脚本,如果有两个脚本在第一次测试中失败,那么只有这两个脚本需要再次执行(2或3次(,然后将其判定为失败。
如果这两个失败的脚本在第二次通过,那么我需要生成一个html报告,说明所有25个脚本都通过了。有没有插件可以实现这一点,或者有人已经面临这个问题并成功实现了这个问题?
我使用pytest框架和htmlrunner插件来生成报告。
您尝试过pytest重新可靠引诱吗?它可以用于一个特定的情况,也可以用于整个模块或测试套件。
对于一个特定的测试,您可以添加下一个装饰器:
@pytest.mark.flaky(reruns=5)
def test_example():
import random
assert random.choice([True, False])
为了指定整个模块的重新运行,您可以添加:
# test_some.py
pytestmark = [
pytest.mark.flaky(reruns=5)
]
如果您需要为整个测试会话指定重新运行:
pytest --reruns 5