用于重复测试的pytest插件
pytest-repeat的Python项目详细描述
pytest repeat是py.test的插件,它使 容易重复一次测试,或多次测试,具体次数。
要求
要使用pytest repeat,您需要以下先决条件:
- python 2.7、3.4+或pypy
- py.test 2.8或更新版本
安装
要安装pytest,请重复:
$ pip install pytest-repeat
重复测试
使用--count
命令行选项指定所需的次数
要运行的测试:
$ py.test --count=10 test_file.py
py.test收集的每个测试将运行count
次。
如果要将代码中的测试标记为重复多次,则
可以使用@pytest.mark.repeat(count)
装饰符:
importpytest@pytest.mark.repeat(3)deftest_repeat_decorator():pass
如果要覆盖默认测试执行顺序,可以使用--repeat-scope
具有以下值之一的命令行选项:session
、module
、class
或function
(默认值)。
它的行为类似于pytest设备的范围。
function
(默认)作用域在执行下一个测试之前重复每个测试count
或repeat
次。
session
作用域重复整个测试会话,即所有收集的测试执行一次,然后所有此类测试再次执行等等。
class
和module
的行为类似,但重复测试集是来自类或模块的测试,而不是所有收集的测试。
重复测试直到失败
如果您试图诊断间歇性故障,运行相同的
反复测试直到失败。您可以在中使用pytest的-x
选项
与pytest repeat一起强制测试运行程序在第一次失败时停止。
例如:
$ py.test --count=1000 -x test_file.py
这将尝试运行test_file.py 1000次,但一旦失败将立即停止 发生。
单元测试样式测试
不幸的是,pytest repeat不能与unittest.testcase测试类一起使用。
这些测试将只运行一次,而不管--count
,并显示一个警告。