pytest使用 pytest-rerunfailures 插件实现失败用例重跑功能

embedded/2024/10/22 4:55:14/

使用 pytest 进行测试时,你可以通过安装并配置 pytest-rerunfailures 插件来实现失败用例重跑功能。以下是一个示例说明:

假设你有一个测试文件 test_example.py 包含如下测试用例:

import pytest@pytest.mark.parametrize("num", [0, 1, 2, 3])
def test_divisible_by_two(num):assert num % 2 == 0def test_always_fail():assert False

在这个示例中,test_divisible_by_two 是一个参数化测试用例,而 test_always_fail 则是一个总是失败的测试用例。

现在,我们来安装 pytest-rerunfailures 插件,并运行测试用例,使其在失败时重试:

  1. 安装 pytest-rerunfailures 插件:

    pip install pytest-rerunfailures
  2. 运行测试用例并指定重试次数:

    pytest --reruns 2 test_example.py

    在这个示例中,我们设置了重试次数为 2 次。如果某个测试用例失败,则会在失败后重新运行该测试用例两次。

    示例输出可能如下所示:

============================= test session starts ==============================
platform linux -- Python 3.x.y, pytest-6.x.y, pluggy-0.x.y
rootdir: /path/to/your/project
plugins: rerunfailures-1.x.y
collected 5 items

test_example.py .FFF                                              [100%]

=========================== rerun test summary info ===========================
RERUNNING test_always_fail (1/2)...
RERUNNING test_always_fail (2/2)...

============================= 3 failed, 2 passed in 0.12s ==============================

如上所示,在第一次运行时,test_always_fail 测试用例失败了,然后在重试两次后依然失败了。其他测试用例通过了。

通过以上步骤,你就成功地使用 pytest-rerunfailures 插件实现了失败用例重跑功能。

Allure报告查看重跑日志:


http://www.ppmy.cn/embedded/10560.html

相关文章

可视化看板有那么多应用场景,该如何快速搭建?可视化工具该如何选择?

在当今的信息化时代,数据已经成为了现代决策的核心。无论是企业战略规划、运营管理,还是个人生活决策,数据都扮演着至关重要的角色。随着数据分析技术和工具的不断进步,数据在决策中的作用将变得更加突出,对组织和个人…

MySQL 8.0性能优化实战培训

课程介绍 【云贝独家】MySQL 性能优化进阶课程,引领你的职业巅峰! 同学们,你们是否被各种工作中的性能问题困扰?是否渴望提升自己在MySQL数据库方面的技术能力,掌握最新最前沿的技术知识呢? 我们讲师为你带…

流量反作弊算法简介

参考:流量反作弊算法实践 1. 背景 阅读记录阿里流量作弊的风控文章。甄别阿里妈妈逾千亿商业流量中作弊 与 低质量的部分,保护广告主和平台的利益是风控团队的核心工作之一。 2. 广告风控流程 广告主投放内容与风控团队、下游业务团队的简易交互流程如…

TaskWeaver使用记录

TaskWeaver使用记录 1. 基本介绍2. 总体结构与流程3. 概念细节3.1 Project3.2 Session3.3 Memory3.4 Conversation3.5 Round3.6 Post3.7 Attachment3.8 Plugin3.9 Executor 4. 代码特点5. 使用过程5.1 api调用5.2 本地模型使用5.3 添加插件 6. 存在的问题与使用体验6.1 判别模型…

计算机网络【第一章】

目录 1.1、什么是因特网 ①描述因特网的具体构成 ②根据为分布式应用提供的联网基础设施来描述 网络协议 1.2、 网络边缘 接入网 1、家庭接入:DSL、电缆、FTTH、拨号和卫星 2、企业接入(和家庭接入):以太网和WiFi 3、广域…

C++设计模式探讨(2)-单例模式

介绍 这段介绍来自网络: 单例模式是一种创建型的软件设计模式,在工程项目中非常常见。通过单例模式的设计,使得创建的类在当前进程中只有一个实例,并提供一个全局性的访问点,这样可以规避因频繁创建对象而导致的内存…

协程/线程/进程的简单应用

使用FastApi模拟网络IO接口 import timefrom fastapi import FastAPIapp FastAPI()# 文件名 api.py # 运行: uvicorn api:app --reloadapp.get("/sleep/{times}") def sleep(times: int):# 模拟接口耗时time.sleep(times)return {"sleep": times}async…

JS 删除数组元素( 5种方法 )

No.内容链接1Openlayers 【入门教程】 - 【源代码示例300】 2Leaflet 【入门教程】 - 【源代码图文示例 150】 3Cesium 【入门教程】 - 【源代码图文示例200】 4MapboxGL【入门教程】 - 【源代码图文示例150】 5前端就业宝典 【面试题详细答案 1000】 文章目录 一、五种…