pytest教程-19-pytest.ini配置文件

领取资料,咨询答疑,请➕wei:  June__Go

上一小节我们学习了pytest内置fixture的使用方法,本小节我们讲解一下pytest.ini文件的配置方法。

pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。

pytest里面有些文件是非test文件

  • pytest.ini pytest的主配置文件,可以改变pytest的默认行为
  • conftest.py 测试用例的一些fixture配置
  • __init__.py 识别该文件为python的package包
  • tox.ini 与 pytest.ini类似,用tox工具时候才有用
  • setup.cfg 也是ini格式文件,影响setup.py的行为

pytest.ini文件基本格式

# 新建pytest.ini文件,一般放在项目的顶级目录下,不能随意命名[pytest]addopts = -v --rerun=2 --count=2
xfail_strict = true

使用pytest --help参看帮助文档,找到这行:ini-options in the first pytest.ini|tox.ini|setup.cfg file found

以下是一些常用的配置:
1、addopts 设置自定义执行参数

代码如下(示例):

[pytest]
# 命令行参数,用空格分隔
addopts = -v -s --reruns 1 --html=report.html

说明:

  • –reruns: 失败重跑次数
  • –count: 重复执行次数
  • -v: 显示错误位置以及错误的详细信息
  • -s: 等价于 pytest --capture=no 可以捕获print函数的输出
  • -q: 简化输出信息
  • -m: 运行指定标签的测试用例
  • -x: 一旦错误,则停止运行
  • –maxfail: 设置最大失败次数,当超出这个阈值时,则不会在执行测试用例
  • –html=report.html 生成测试报告

注意:当ini配置文件的参数与run文件里的命令参数重复时,命令行的参数值会覆盖ini配置文件中定义的参数值

2、更改测试用例收集规则

pytest默认的测试用例收集规则

文件名以 test_*.py 文件和 *_test.py

以 test_ 开头的函数

以 Test 开头的类,不能包含 __init__ 方法

如果需要修改这些规则,可以在pytest.ini文件中加入以下配置:

[pytest]
#测试用例收集规则
python_files =  test_*.py  *_test.py    # 文件名
python_classes = Test*                      # 类
python_functions = test_*                  # 函数

多个匹配规则以空格分开

3、testpaths–设置用例执行目录

[pytest]
# 读取测试用例的起始文件夹,多个路径用空格分隔。
注意:这些目录下不能出现相同文件名,否则会报错
testpaths = ./testcase

4、norecursedirs-排除某些用例搜索目录

[pytest]
norecursedirs = venv report util log      #排除指定用例搜索目录

5、markers–标记分组参数

[pytest]
markers =smoking :high    :medium  :lower   :

测试用例中标识,运行pytest -v -m smoking,只执行含有smoking标记的测试用例
代码如下(示例):

@pytest.mark.smoking
def test_01():pass

6、禁用XPASS

设置xfail_strict = True可以让那些标记为@pytest.mark.xfail 实际通过显示XPASS的测试用例被报告为失败。

[pytest]
xfail_strict=False

7、指定pytest最低版本

[pytest]
minversion = 7.0

8、log_cli控制台实时输出日志

格式: log_cli=True 或 log_cli=False (默认),或者 log_cli=1 或 log_cli=0

[pytest]
log_cli=True

详细日志设置,如下:

[pytest]
log_cli=True #日志开关
log_file = pytest.log #日志文件
log_file_level = INFO #日志级别
log_file_format = %(asctime)s | %(filename)s | %(funcName)s | line:%(lineno)d | %(levelname)s | %(message)s #日志文件格式
log_file_date_format = %Y-%m-%d %H:%M:%S #日志文件中时间戳的格式

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走,希望可以帮助到大家!领取资料,咨询答疑,请➕wei:  June__Go

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/769730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenGL学习笔记【4】——创建窗口,给窗口添加渲染颜色

一、前三章节的前情回顾 章节一:上下文(Context) OpenGL学习笔记【1】——简介-CSDN博客 章节一讲述了OpenGL在渲染的时候需要一个Context来记录了OpenGL渲染需要的所有信息和状态,可以把上下文理解成一个大的结构体,它里面记录了当前绘制使…

C#.NET 与 Python 交互

若你要用.NET和Python交互,那么你可以使用两种技术:IronPython 和 Python.NET 。 但两者的基础实现和目标场景都不同,因此如何使用它们也有所不同。 IrconPython简称 IPy , Python.NET 也叫 pythonnet 或 Python for .NET ,下面分…

基于Java校园跑腿管理系统设计与实现(源码+部署文档)

博主介绍: ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到 Java项目精品实…

《SQL必知必会第五版》第十五章(插入数据)挑战题

1. 使用 INSERT 和指定的列,将你自己添加到 Customers 表中。明确列出要添加哪几列,且仅需列出你需要的列。 INSERT INTO Customers(cust_id,cust_name,cust_address,cust_city,cust_state,cust_zip,cust_country,cust_contact,cust_email) VALUES(…

简单函数_加减乘除

任务描述 对输入的算式进行简单的运算,输出算式结果。运算符只会是加、减-、乘*、除/、求余%、阶乘!之一。 输出运算的结果,如果出现除数为零,则输出“error”,如果求余运算的第二个运算数为0,也输出“error”。 输入…

自定义collate_fn函数:应对报错RuntimeError: stack expects each tensor to be equal size

使用BERT或ResNet分别生成文本和图像特征时,由于文本自身长度和图像大小的限制,导致最后形成的特征数据在送入DataLoader时会因为维度不同而报错: RuntimeError: stack expects each tensor to be equal size此时就需要自定义collate_fn函数实现数据的自定义加载功能,下面…

UR5 机器人 URDF 代码阅读

系列文章目录 文章目录 系列文章目录前言一、UR5 URDF 代码二、base_link三、shoulder_pan_joint四、shoulder_pan_trans五、ROS base_link 坐标系到 UR 机器人 Base 坐标系的转换六、与全零TCP&#xff08;工具坐标系&#xff09;重合的工具链接 前言 一、UR5 URDF 代码 <…

算法人生(8):从“注意力算法”看“战胜拖延”(被分心太多版)

现代人拖延产生的原因有很多&#xff0c;比如因为害怕失败而拖延&#xff0c;因为完美主义倾向而拖延&#xff0c;不想走出“舒适区”而拖延等等&#xff0c; 今天我们要针对一个常见的原因“被分心的事情太多”而产生的拖延来看&#xff0c;如何从“注意力算法”的思路中找到些…

类型双关联合体(C++基础)

类型双关 类型双关就是在同样的一个内存中&#xff0c;存储的数据可以用做不同类型的表述。用在底层性能优化的时候&#xff0c;一般使用的时候要非常小心&#xff0c;因为不当的使用可能导致程序的不稳定和不可预测的行为。 int a 5;//double value (double)a;double value…

软考信息系统项目管理师2024上半年报名流程及注意事项

2024年5月软考信息系统项目管理师报名入口&#xff1a; 中国计算机技术职业资格网&#xff08;http://www.ruankao.org.cn/&#xff09; 2024年软考报名时间暂未公布&#xff0c;考试时间上半年为5月25日到28日&#xff0c;下半年考试时间为11月9日到12日。不想错过考试最新消…

Qt Design Studio 软件怎么用(详细+通俗+有趣)

建议&#xff1a;本文长期更新&#xff0c;建议点赞/收藏&#xff01; 1. 啥是Qt Design Studio&#xff1f; Qt Design Studio 是一个用于设计和开发用户界面的工具&#xff0c;特别适合开发跨平台应用程序。它结合了UI设计和开发的工作流程&#xff0c;使得设计师和开发者可…

桌面显示器PD芯片:引领桌面显示技术的新篇章

随着科技的飞速发展&#xff0c;桌面显示器作为人们日常工作与生活中不可或缺的重要设备&#xff0c;其性能与品质也在不断提升。其中&#xff0c;PD芯片作为桌面显示器中的核心组件&#xff0c;发挥着至关重要的作用。本文将对桌面显示器PD芯片进行详细介绍&#xff0c;探讨其…

如何确定ISO体系认证的范围?越大越好是否合理?

什么叫认证范围 ISO认证范围是指企业在申请ISO体系认证时&#xff0c;确定管理体系所涉及的业务范围。这个范围通常包括产品、服务、活动等方面&#xff0c;是企业为了提升管理水平、增强竞争力而选择实施ISO体系认证时需要考虑的重要因素之一。 ISO体系认证的范围主要包括两…

【Leetcode】top 100 二叉树

基础知识补充 完全二叉树&#xff1a;顺序存储&#xff08;数组&#xff09; 非根节点的父节点序号floor((i-1)/2) 序号i的左孩子节点序号2*i1 右孩子节点序号2*i2 一般二叉树&#xff1a;链式存储 结构&#xff1a;left指针指向左子节点&#xff0c;right指针指向右子节点&am…

JAVA 100道题(17)

17.创建一个方法&#xff0c;接受一个整数作为参数&#xff0c;并检查它是否为正数。如果不是&#xff0c;则抛出自定义异常。 首先&#xff0c;你需要定义一个自定义的异常类。在Java中&#xff0c;你可以通过继承 Exception 类来创建自定义异常。然后&#xff0c;你可以创建一…

区区文件操作

一、概念 数据存到内存中&#xff0c;程序退出、掉电数据就丢失了 数据存到硬盘中&#xff0c;就是存储在文件中&#xff0c;数据就不会因为掉电、程序退出就丢失。想要数据持久化&#xff0c;就要使用文件。 二、分类 什么是文件&#xff1f; 硬盘&#xff08;磁盘&#…

springcloud 复习day2~[条件装配]

条件装配: 注解:Condition 定义一个注解 import org.springframework.context.annotation.Conditional;import java.lang.annotation.*;/*** author Gavin*/ Retention(RetentionPolicy.RUNTIME) Target({ElementType.TYPE, ElementType.METHOD}) Documented Conditional(Lo…

ffmpeg拉流并解码

流程 注意事项 版本不同导致的api差异资源安全释放

激光焊接机在不锈钢三角阀制造中的应用与发展

不锈钢三角阀激光焊接机是一种专门用于焊接不锈钢三角阀的高效、精准设备。这种设备在不锈钢三角阀的制造过程中起到了至关重要的作用&#xff0c;其应用主要体现在以下几个方面&#xff1a; ​ 一、激光焊接机在不锈钢三角阀制造中的应用 激光焊接机以其独特的优势&#xff…