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 True

2.通过命令行参数控制重复次数

如果不想在代码中手动添加装饰器,可以通过命令行选项控制所有测试的重复执行次数。使用 --repeat 选项:

pytest --repeat=3

3.配置重复执行的延迟时间

pytest --repeat=3 --repeat-delay=2

此命令会使测试用例每次重试之间延迟 2 秒。

4.配置文件 pytest.ini

[pytest]

addopts = --repeat=3 --repeat-delay=2