Pytest学习笔记12-配置文件pytest.ini
前言
pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。
常用的配置项
marks
作用:测试用例中添加了自定义标记( @pytest.mark.xxx 装饰器),如果不添加marks选项的话,就会报warnings
格式:list列表类型
写法:
[pytest]
# 自定义标记说明
markers =
tencent: tencent
toutiao: toutiao
alibaba: alibaba
xfail_strict
作用:设置xfail_strict = True可以让那些标记为@pytest.mark.xfail但实际通过显示XPASS的测试用例被报告为失败
格式:True 、False(默认),1、0
写法:
[pytest]
# 自定义标记说明
markers =
tencent: tencent
toutiao: toutiao
alibaba: alibaba
xfail_strict = True
上代码
@pytest.mark.xfail()
def test_case1():
a = "a"
b = "b"
assert a != b
- 未设置 xfail_strict = True 时,测试结果显示xpassed

- 已设置 xfail_strict = True 时,测试结果显示failed

addopts
作用:addopts参数可以更改默认命令行选项,这个当我们在cmd输入一堆指令去执行用例的时候,就可以用该参数代替了,省去重复性的敲命令工作
比如:想测试完生成报告,失败重跑两次,一共运行两次,如果在cmd中写的话,命令会很长
pytest -v --rerun=2 --count=2 --html=report.html --self-contained-html
每次都这样敲不太现实,addopts就可以完美解决这个问题
[pytest]
# 自定义标记说明
markers =
tencent: tencent
toutiao: toutiao
alibaba: alibaba
xfail_strict = True
# 命令行参数
addopts = -v --reruns=1 --count=2 --html=reports.html --self-contained-html
log_cli
作用:控制台实时输出日志
格式:log_cli=True 或False(默认),或者log_cli=1 或 0
log_cli=0运行结果

log_cli=1运行结果

加了log_cli=1之后,可以清晰看到哪个package下的哪个module下的哪个测试用例是否passed还是failed
norecursedirs
作用:pytest 收集测试用例时,会递归遍历所有子目录,包括某些你明知道没必要遍历的目录,遇到这种情况,可以使用 norecursedirs 参数简化 pytest 的搜索工作
默认设置: norecursedirs = .* build dist CVS _darcs {arch} *.egg
正确写法:多个路径用空格隔开
举个,想要不遍历 venv、src、resources、log、report、util文件夹,可以进行如下设置
[pytest]
norecursedirs = .* build dist CVS _darcs {arch} *.egg venv src resources log report util
更改测试用例收集规则
pytest默认的测试用例收集规则
文件名以 test_*.py 文件和 *_test.py
以 test_ 开头的函数
以 Test 开头的类,不能包含 init 方法
以 test_ 开头的类里面的方法
我们是可以修改或者添加这个用例收集规则的(建议在原有的规则上添加),如下配置
[pytest]
python_files = test_* *_test test*
python_classes = Test* test*
python_functions = test_* test*
注意事项
pytest.ini文件应该放在项目根目录下,不要修改名字,否则无法被识别
整理参考
Pytest学习笔记12-配置文件pytest.ini的更多相关文章
- [转载]pytest学习笔记
pytest学习笔记(三) 接着上一篇的内容,这里主要讲下参数化,pytest很好的支持了测试函数中变量的参数化 一.pytest的参数化 1.通过命令行来实现参数化 文档中给了一个简单的例子, ...
- Spring源码学习笔记12——总结篇,IOC,Bean的生命周期,三大扩展点
Spring源码学习笔记12--总结篇,IOC,Bean的生命周期,三大扩展点 参考了Spring 官网文档 https://docs.spring.io/spring-framework/docs/ ...
- Ext.Net学习笔记12:Ext.Net GridPanel Filter用法
Ext.Net学习笔记12:Ext.Net GridPanel Filter用法 Ext.Net GridPanel的用法在上一篇中已经介绍过,这篇笔记讲介绍Filter的用法. Filter是用来过 ...
- SQL反模式学习笔记12 存储图片或其他多媒体大文件
目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点: 1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...
- golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题
golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...
- Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建
Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...
- Python3+Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)
#!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)'''from ...
- springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定
springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定 标签: springmvc springmvc学习笔记12-springmvc注解开发之包装类型參数绑定 需求 实现方 ...
- 并发编程学习笔记(12)----Fork/Join框架
1. Fork/Join 的概念 Fork指的是将系统进程分成多个执行分支(线程),Join即是等待,当fork()方法创建了多个线程之后,需要等待这些分支执行完毕之后,才能得到最终的结果,因此joi ...
- matlab学习笔记12单元数组和元胞数组 cell,celldisp,iscell,isa,deal,cellfun,num2cell,size
一起来学matlab-matlab学习笔记12 12_1 单元数组和元胞数组 cell array --cell,celldisp,iscell,isa,deal,cellfun,num2cell,s ...
随机推荐
- Python数学建模-02.数据导入
数据导入是所有数模编程的第一步,比你想象的更重要. 先要学会一种未必最佳,但是通用.安全.简单.好学的方法. 『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人. 1. 数据导入 ...
- GO学习-(19) Go语言基础之网络编程
Go语言基础之网络编程 现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序通过网络互相通信呢?本章我们就一起来学习下Go语言中的网络编程. 关于网络编程其 ...
- ngx_lua模块
ngx_lua模块的原理: 1.每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM:2.将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问:3.每个 ...
- scrapy异常状态码处理
scrapy异常状态码处理 在setting.py中加入 scrapy 的 state 默认只处理200到300之间 # 403状态的响应不被自动忽略,对403 的响应做个性化处理 HTTPERRO ...
- node.js学习(4)事件
1 导入事件库
- 特斯拉ADAS
特斯拉ADAS Tesla 目前在Model S和Model X上面采用的自动辅助驾驶系统集成了12个超声波传感器,用来识别周围环境: 一个前置摄像头,用来辨识前方物体: 一个前置雷达,用来辨识前方物 ...
- 摄像头ISP系统原理(中)
摄像头ISP系统原理(中) AF(FOCUS)----自动对焦 根据光学知识,景物在传感器上成像最清晰时处于合焦平面上.通过更改 LENS 的位置,使得景物在传感器上清晰的成像,是 ISP FOCUS ...
- HAL库与Cubemx系列|Systick-系统滴答定时器详解
Systick是什么? 关于Systick,在Context-M3权威指南中如此描述: SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号: 15).在以前,大多操作系统需要一 ...
- Vue packages version mismatch的解决方法 初来乍到,踩坑日常
初来乍到,踩坑日常 这个问题也是我也是接受别人项目,出现的问题,在下载好依赖后运行的时候报这样的错误 它上面显示两个版本一个vue的版本,一个vue-template-compiler版本,我这边忘了 ...
- Selective Kernel Networks
摘要:在标准的卷积神经网络(CNNs)中,每一层的人工神经元的感受野被设计成具有相同的大小.众所周知,视觉皮层神经元的感受野大小受刺激的调节,但在构建cnn时却很少考虑到这一点.我们在神经网络中提出了 ...