1.基本用法
1.1 为单个测试用例添加重复执行
使用 @pytest.mark.repeat 装饰器可以让某个测试用例重复执行指定的次数。
import pytest
@pytest.mark.repeat(3) # 重复执行 3 次
def test_example():
print("运行测试")
assert True
1.2. 为整个测试类添加重复执行
import pytest
@pytest.mark.repeat(3) # 重复执行所有测试方法 3 次
class TestExample:
def test_1(self):
print("运行测试 1")
assert True
def test_2(self):
print("运行测试 2")
assert True2.通过命令行参数控制重复次数
如果不想在代码中手动添加装饰器,可以通过命令行选项控制所有测试的重复执行次数。使用 --repeat 选项:
pytest --repeat=3
3.配置重复执行的延迟时间
pytest --repeat=3 --repeat-delay=2
此命令会使测试用例每次重试之间延迟 2 秒。
4.配置文件 pytest.ini
[pytest]
addopts = --repeat=3 --repeat-delay=2