• Novice学Pytest(11)失败重跑插件pytestrerunfailures的详细使用


    一、前言

      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

  • 相关阅读:
    LoliProfile Native内存分析工具
    谈谈法线贴图
    逐顶点光照与逐像素光照
    标准光照模型
    UE4之TaskGraph系统
    Centos 安装.NET CORE 3.1
    ImportError: No module named 通用解决方法
    [公告] 本博客停止更新,新文献将发布于掘金
    jdk8的常用的功能
    etcd 与 redis使用场景
  • 原文地址:https://www.cnblogs.com/huainanhai/p/15172331.html
Copyright © 2020-2023  润新知