pytest命令行如何重跑失败用例
时间: 2023-08-22 17:13:40 浏览: 40
在Pytest中,可以使用pytest-rerunfailures插件来实现失败用例的重跑。安装该插件的方式是通过pip install pytest-rerunfailures命令进行安装。安装完成后,可以通过两种方式来实现失败用例的重跑。
方式一是在命令行或者main()函数中使用pytest.main(\['-vs','test_a.py','--reruns=2'\])命令来执行测试脚本,并通过--reruns参数指定重跑次数。例如,pytest -vs ./test_a.py --reruns 2 --reruns-delay 2表示失败重试2次,在每次重试前会等待2秒。
方式二是在pytest.ini配置文件中使用。在pytest.ini文件中,可以通过addopts参数来添加--reruns参数,并指定重跑次数和重跑间隔时间。例如,\[pytest\] addopts = -s --reruns 2 --reruns-delay 2可以实现失败重试2次,在每次重试前等待2秒。
需要注意的是,使用pytest-rerunfailures插件时,可以在测试用例上使用@pytest.mark.flaky(reruns=3)装饰器来指定重跑次数。例如,@pytest.mark.flaky(reruns=3) def test01(): assert randint(1, 10) == 6可以实现失败重试3次。
总结起来,要实现pytest命令行重跑失败用例,可以通过命令行参数或者pytest.ini配置文件来指定重跑次数和重跑间隔时间。
#### 引用[.reference_title]
- *1* *3* [四、Pytest框架 — pytest.ini文件和用例执行的顺序以及跳过测试和失败重试](https://blog.csdn.net/m0_59868866/article/details/125002374)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [pytest系列教程——12、用例执行失败后重跑](https://blog.csdn.net/bo_mask/article/details/126761257)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]