Pytest教程__配置文件-pytest.ini(4)

news2024/11/27 20:26:56

pytest配置文件可以改变pytest的默认运行方式,它是一个固定的文件名称pytest.ini。

存放路径为项目的根目录

解决中文报错

在讲解配置文件的可用参数前,我们先解决一个高概率会遇到的问题, 那就是在pytest.ini文件 中不能使用任何中文符号,否则会报错:UnicodeDecodeError: 'gbk' codec can't decode

解决方法:点击倒数第二行的报错,进入iniconfig模块,找到其前面一行代码的open()函数,在open函数中中增加 encoding='utf-8'参数

配置文件的参数值会被命令行覆盖

当配置文件的参数与命令文件的参数重复时,命令行的参数值会覆盖配置文件中定义的参数值。、

比如下图,命令行参数值为3,pytest.ini参数值为2,实际执行的参数值为3

addopts-追加默认参数

我们每次在CMD中执行pytest命令时,如果参数是固定的,可以使用该参数项减少繁琐的操作。比如CMD中输入以下命令:

pytest -v --reruns 1 --html=report.html

在配置文件中,我们可以这样配置:

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

配置好后,我们在命令直接执行pytest就不需要在追加参数了

testpaths-指定测试用例搜索目录

testpaths用于指定测试用例的搜索目录,可以指定一个或多个目录,多个目录需要用空格隔开,需要注意的是,多个目录下不能存在相同名称py文件,否则会抛错。

 修改相同名称的py文件后的结构如下:

将两个测试用例的目录添加到pytest.ini配置文件

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

执行结果如下:

python_files & python_classes & python_functions 修改pytest默认搜索用例的规则

pytest 默认的用例匹配规则:

  1. 测试模块必须以 test_ 开头或以 _test 结尾
  2. 测试类必须以 Test 开头,且不能有 __init__() 
  3. 测试方法必须以 test_ 开头

pytest.ini配置文件可以使用python_files、python_calsses、python_functions修改默认的用例匹配规则。

  • 使用python_files可以自定义测试模块的匹配规则
  • 使用python_classes可以自定义测试类的匹配规则
  • 使用python_functions可以自定义测试方法的匹配规则

上面3个配置项支持多个匹配规则,多个匹配规则用空格隔开。

在了解配置字段后,我们添加自己的匹配规则:

  • 添加 my 开头的测试模块
  • 添加 My 开头的测试类
  • 添加 my 开头的测试方法
[pytest]
# 配置搜索的模块文件名称。匹配以test开头py结尾的文件
python_files = test*.py my*.py

# 配置搜索的测试类名
python_classes = Test* My*

# 配置搜索的测试方法名
python_functions = test* my*

执行结果

markers-注册mark标记

当我们使用 @pytest.mark.标记名称 时,如果使用的自定义标记,当在执行用例追加参数 -m=标记名称 时,虽然不会影响测试执行,但是在执行后会出现告警提示。

我们可以在pytest.ini配置文件增加 markers 字段注册标记名称

[pytest]
# 注册标记名称
markers =
    smoke: 冒烟测试用例
    normal: 正常用例

添加后,使用pytest --markers可以查看到我们添加的标记名称。

再次执行用例

运行结果没有告警提示


最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)

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

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

相关文章

【Webpack】Webpack

❤️ Author: 老九 ☕️ 个人博客:老九的CSDN博客 🙏 个人名言:不可控之事 乐观面对 😍 系列专栏: 文章目录 WebpackWebpack是干嘛的代码分割摇树优化模块热替换 Webpack Webpack是干嘛的 Webpack是用来打…

<Python全景系列-2> Python数据类型大盘点

欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个…

一种自适应异常数据点消除方法

1.问题 在现实生活中,采集到的信号,会有一些噪点需要去除,否则这部分数据在比如时域空间直接进行分析时就会遇到非常难以厘清的逻辑要处理,各种异常。 肉眼看去,那些噪点是清清楚楚的。如何去除呢? 这里给…

快速搭建自己的跑腿服务平台:开源跑腿系统源码分享

在现代社会,人们生活节奏加快,很多时候需要在短时间内完成各种任务,如购物、送货等。这就催生了跑腿服务的兴起。跑腿服务平台为用户提供一站式服务,让用户可以轻松地找到可靠的跑腿服务,并实现便捷快速的服务体验。 …

基于Java线上旅行信息管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

12. 100ASK-V853-PRO开发板 MIPI屏测试指南

100ASK-V853-PRO开发板 MIPI屏测试指南 硬件要求: 100ASK-V853-PRO开发板四寸MIPI屏 软件要求: 固件下载地址:链接:百度网盘 提取码:sp6a 固件位于资料光盘中的10_测试镜像/2.测试4寸MIPI屏/v853_linux_100ask_uar…

分布式文件存储相关概念

分布式文件存储 1 常见专业术语 1.1 备份技术 出于数据恢复的目的而创建的一份额外的数据副本 分类:直接连接备份,网络连接备份, 脱局域网备份,脱服务器备份 在线备份,离线备份,近线备份 ①冷备份 冷备份…

ORC与Parquet压缩分析

ORC与Parquet压缩分析 date:2023年6月14日 文章目录 ORC与Parquet压缩分析压测环境数据schema 数据实验压缩结果文件使用建议附录编译hadoop-lzo编译前提编译程中出现的错误结果文件 file-compress.jar源码ReadWriterOrc类NativeParquet类FileUtil类 压测环境 OS&a…

管理类联考——逻辑——真题篇——第四章 完型填空

第四章 完型填空 第一节 真题 2020-完型填空- Section I Use of English Directions: Read the following text. Choose the best word (s) for each numbered blank and mark A, B, C or D on the ANSWER SHEET. (10 points) Being a good parent is, of cour…

如何成为一名专业云渗透测试工程师

前言 很多人不知道网络安全发展前景好吗?学习网络安全能做什么?现在行业有哪些热门岗位?今天为大家解答下。 从宏观层面来看,新基建成为中国经济热词,政府和企业业务上云全面提速,随着云计算技术的快速发…

联想创新开放日:计算引领+AI赋能,联想超十项绿色技术重磅亮相

6月14日,联想2023年创新开放日精彩继续,六大主题的展览、多场圆桌论坛等活动吸引了络绎不绝的观众。聚焦ESG领域,本次联想创新开放日专门设立ESG零碳领航站和相关主题的圆桌论坛。期间,ESG展区还专门展示了联想温水水冷技术、智慧…

MM32F3273G8P火龙果开发板MindSDK开发教程20 - letter shell 的移植

MM32F3273G8P火龙果开发板MindSDK开发教程20 - letter shell 的移植 1、Letter Shell 犹如linux下的命令行,或者更像是uboot下的命令行,可以输入命令,执行相对应的函数。 2、Letter Shell移植(GCC 环境) 解压后&am…

虹科干货 | BI软件如何实时连接本地Excel?—以HK-Domo商业智能工具为例

由于资源和人才的限制,很多中小微企业目前在数据收集和数据应用上还处于比较落后的阶段,没有合适的方法处理数据。最典型的情况就是通过Excel收集数据,然后频繁的手动生成报告。这样会导致数据质量差,流程重复,还可能增…

读财报丨长期主义指引下,蔚来“下半年月均交付2万+”能否实现?

新能源汽车的互联网属性正在加速消解,工业产品的特质开始贯穿行业始终。 首先是过去几年风头无两的造车新势力,与传统车企在产品层面的边界越来越模糊。与此同时,新能源汽车的利润水平也在大幅下降,趋近燃油车。 行业整体的风格…

计算机组成原理(第三版)唐塑飞 答案 第三章

3.1什么是总线?总线传输有何特点?为了减轻总线的负载,总线上的部件都应具备什么特点? 答: ① 总线是连接多个部件的信息传输线,是个部件共享的传输介质。 ② 总线传输特点:在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接受相…

20年不变的初心,亚马逊云科技为初创企业的独角兽梦想加速赋能!

廿年初心不改, 为初创企业打造增长飞轮 【全球云观察 | 热点关注】20年前,亚马逊现任CEO Andy Jassy观察到,在亚马逊内部新业务的孵化过程中工程师需要花大量的时间,投入在一些重复性高却不产生附加价值的基础设施建设…

【UE 从零开始制作坦克】1-控制坦克视角

UE版本:4.26 效果 步骤 1. 在虚幻商城中下载如下资产导入到工程中 导入成功后可以在工程中看到如下文件夹 2. 接下来开始制作一下控制坦克视角的逻辑 首先在项目设置中添加轴映射 新建一个蓝图,父类为“WheelVehicle(轮式载具)” 这里就命名为“TankZ…

科一容易忘、容易混的点(二)

注意落石 高速应急车道用途:主要用于发生事故或故障时停车,以及专为救险所用的车道,被誉为高速公路的“生命通道” 注意 注意 扣9份场景: 城市快速路上 违法停车; 注意 交通事故逃逸, 不一定吊销驾驶证&a…

Python的type内置类详解

目录导览 欢迎来到本文Type简介Type的常见用法用法1-获取对象的类型用法2-创建新的类 Type做为元类(metaclass)元类的作用如何自定义元类 欢迎来到本文 Type简介 在Python中,type是一个内建的类,它是用于表示对象的类型的类。ty…

(九)枚举器和迭代器(2)

一、Enumerator 接口 实现了 IEnumerator 接口的枚举器包含3个函数成员:Current、MoveNext 以及 Reset。 1)Current: 返回序列中当前位置项的属性。 只读属性。返回 Object 类型。可以返回对应的可枚举类型。 2)MoveNext&…