06、pytest失败重跑、失败中止

日常测试过程中,经常需要对失败测试用例进行retry,此时可使用pytest-rerunfailures插件。另外也可以设置失败中止

1、失败重跑

安装:pip install pytest-rerunfailures

使用装饰器@pytest.mark.flaky()
rerun代表失败重跑的最大重试次数,reruns_delay代表等待时间

# 文件名:over.py
import pytest

@pytest.mark.flaky(reruns=3, reruns_delay=2)
def test001():
    a = 1
    print('-------------------------------------这是一个分割线-------------------------------------')
    assert a == 0


if __name__ == '__main__':
    pytest.main(['-s', 'over.py'])

06、pytest失败重跑、失败中止_第1张图片

 

命令行执行:
cd到py文件下执行
pytest --reruns 3 --reruns-delay 2 -s

效果是一样的

2、失败中止

一旦失败就终止
命令行执行:pytest -v -x test_002.py

或者执行:如下代码

# 文件名:test_002.py
import pytest

class TestTwo:
    def test001(self):
        assert 1 == 2

    def test002(self):
        assert 1 == 1


if __name__ == '__main__':
    pytest.main(['-v', '-x', 'test_002.py'])

结果会提示 :

06、pytest失败重跑、失败中止_第2张图片

最多失败2次后终止
命令行:pytest --maxfail 2 文件名

或者执行:如下代码

# 文件名:test_002.py
import pytest

class TestTwo:
    def test001(self):
        assert 1 == 2

    def test002(self):
        assert 1 == 2

    def test003(self):
        assert 1 == 1


if __name__ == '__main__':
    pytest.main(['-v', '--maxfail=2', 'test_002.py'])

结果会提示:

06、pytest失败重跑、失败中止_第3张图片

 

你可能感兴趣的:(pytest,pytest,测试用例)