Novice学Pytest(11)-失败重跑插件pytest-rerunfailures的详细使用

2022/4/22 23:12:35

本文主要是介绍Novice学Pytest(11)-失败重跑插件pytest-rerunfailures的详细使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、前言

  cmd or pycharm的terminal输入命令:pip install -U pytest,安装pytest的同时会安装pytest-rerunfailures。

二、rerun所有失败的用例

  1、使用--reruns命令行选项,并指定要运行测试的最大次数:pytest --reruns 5 -s

  2、添加rerun的delay,使用--reruns-delay命令行选项,指定下次测试重新开始开始前等待的秒数:pytest --reruns 5 --reruns-delay 10 -s

  3、运行失败的fixture或setup_class也将重新执行

  4、rerun指定的测试用例,要将单个测试用例添加flaky装饰器@pytest.mark.flaky(reruns=5),并在测试失败时rerun,需要指定最大运行的次数

三、小试牛刀

  (1)rerun指定的失败的测试用例,指定max次数,未指定delay时间

1 import pytest
2 
3 @pytest.mark.flaky(reruns=5)
4 def test_rerunfailures():
5     import random
6     assert random.choice([True,False,False])

  执行结果:

  (2)rerun指定的失败的测试用例,指定max次数,指定delay时间

1 import pytest
2 
3 @pytest.mark.flaky(reruns=5,reruns_delay=10)
4 def test_rerunfailures():
5     import random
6     assert random.choice([True,False,False])

  Notes:

  • 如果指定了用例的重复运行次数和delay,在命令行添加--reruns和--reruns-delay对这些用例时不会生效的
  • 不可以和fixture装饰器一起使用:@pytest.fixture()
  • 该插件与pytest-xdist的--looponfail标记不兼容
  • 该插件与核心--pdb标记不兼容

 

参考链接:https://www.cnblogs.com/poloyy/p/12687308.html

 



这篇关于Novice学Pytest(11)-失败重跑插件pytest-rerunfailures的详细使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程