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渲染需要的所有信息和状态,可以把上下文理解成一个大的结构体,它里面记录了当前绘制使…

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

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

自定义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函数实现数据的自定义加载功能,下面…

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

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

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

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

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

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

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

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

【Leetcode】top 100 二叉树

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

ffmpeg拉流并解码

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

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

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

力扣450 删除二叉搜索树中的节点 Java版本

文章目录 题目描述思路代码 题目描述 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除…

【CKA模拟题】如何发布一个SVC资源

题干 For this question, please set this context (In exam, diff cluster name) kubectl config use-context kubernetes-adminkubernetesYou have an existing Nginx pod named nginx-pod . Perform the following steps: Expose the nginx-pod internally within the cl…

Gorm连接Mysql数据库及其语法

Gorm连接Mysql数据库及其语法 文章目录 Gorm连接Mysql数据库及其语法前期工作找到Gorm的github项目简单了解相关MySQL语法 启动数据库定义数据库模型注意点Gorm Model定义结构体标签(tag)支持的结构体标记(Struct tags)关联相关标记(tags&…

openGauss学习笔记-251 openGauss性能调优-使用Plan Hint进行调优-行数的Hint

文章目录 openGauss学习笔记-251 openGauss性能调优-使用Plan Hint进行调优-行数的Hint251.1 功能描述251.2 语法格式251.3 参数说明251.4 建议251.5 示例 openGauss学习笔记-251 openGauss性能调优-使用Plan Hint进行调优-行数的Hint 251.1 功能描述 指明中间结果集的大小&a…

产品经理面试自我介绍,这3大错误千万别犯!

金三银四求职季,你是不是也有面试的冲动!但面试并不是头脑一热就能取得好结果,在此之前,必须得有周全的准备,才能应对好面试官的“连环问”! 所以,今天这篇产品经理面试干货分享给大家~ 今天文…

最大的开源大模型:马斯克的Grok-1可供企业商用

由马斯克xAI团队研发的最大的开源大语言模型Grok-1,从头开始训练的总参数量为314B(3140亿)的混合专家(MoE)模型,其规模超过ChatGPT-3.5,目前Grok背后代码和权重架构已全部开放上线在GitHub。 下…

SqlServer服务启动报错10013

错误提示:MSSQLSERVER 服务启动异常不错10013 Windows不能在本地计算机启动SQLServer(MSSQLSERVER)。有关更多信 息,查阅系统事件日志。如果这是非Microsoft服务,请与服务厂商联系,并 参考特定服务错误代码10013。 解决 1、先禁用…

蓝桥杯 2023 省A 颜色平衡树

树上启发式合并是一个巧妙的方法。 dsu on tree,可以称为树上启发式合并,是一种巧妙的暴力。用一个全局数组存储结果,对于每棵子树,有以下操作: 先遍历轻儿子,处理完轻儿子后将数组清零(要再…

网络七层模型之数据链路层:理解网络通信的架构(二)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…