当前位置: 首页 > news >正文

pytest入门十:配置文件

  • pytest.ini:pytest的主配置文件,可以改变pytest的默认行为
  • conftest.py:测试用例的一些fixture配置

pytest.ini  

marks
mark 打标的执行 @pytest.mark.add  add需要些marks配置否则报warning
[pytest]
markers=add:测试打标

测试用例中添加了 @pytest.mark.webtest 装饰器,如果不添加marks选项的话,就会报warnings


[pytest]
markers =
    smoke
    end
    fist 

xfail_strict 

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

addopts

addopts参数可以更改默认命令行选项,这个当我们在cmd输入一堆指令去执行用例的时候,就可以用该参数代替了,省去重复性的敲命令工作

# 命令行参数
addopts = -v --reruns=1 --count=2 --html=reports.html --self-contained-html -n=auto

加了addopts之后,我们在cmd中只需要敲pytest就可以生效了!!

log_cli

控制台实时输出日志
格式:log_cli=True 或False(默认),或者log_cli=1 或 0

norecursedirs

pytest 收集测试用例时,会递归遍历所有子目录,包括某些你明知道没必要遍历的目录,遇到这种情况,可以使用 norecursedirs 参数简化 pytest 的搜索工作

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

;指定测试目录
;定义执行的目录
testpaths=tests
;自定义测试文件命名规则
python_files = test_* check_*
;自定义测试类
python_classes = Test* Check*
;自定义测试方法
python_functions = test_* check_*
;指定特定路径:当在上级路径时,也会默认执行sub_demo
;testpaths = sub_demo
;忽略路径
norecursedirs = result logs datas

指定pytest最低版本号

minversion=5.0

 conftest.py

conftest.py

import pytest
 
@pytest.fixture()
def conftest_fixture():
    print("fixture前置")
    yield
    print("fixture后置")

test_demo.py

def test_case(conftest_fixture):
    print("测试用例")

运行结果

============================= test session starts =============================
collecting ... collected 1 item
 
test_demo.py::test_case fixture前置
PASSED                                           [100%]测试用例
fixture后置
 
 
============================== 1 passed in 0.02s ============================== 

http://www.lryc.cn/news/507187.html

相关文章:

  • 基于Clinical BERT的医疗知识图谱自动化构建方法,双层对比框架
  • 介绍 Html 和 Html 5 的关系与区别
  • C05S13-MySQL数据库备份与恢复
  • 【MySQL — 数据库基础】深入理解数据库服务与数据库关系、MySQL连接创建、客户端工具及架构解析
  • Three.js相机Camera控件知识梳理
  • Unity 开发Apple Vision Pro空间锚点应用Spatial Anchor
  • BGP的六种状态分别是什么?
  • IDEA搭建SpringBoot,MyBatis,Mysql工程项目
  • Reactor
  • 在ESP32使用AT指令集与服务器进行TCP/IP通信时,<link ID> 解释
  • [SZ901] JTAG合并功能(类似FPGA菊花链)
  • paimon中的Tag
  • 3分钟读懂数据分析的流程是什么
  • uniapp入门 01创建项目模版
  • React 19新特性探索:提升性能与开发者体验
  • Hive是什么,Hive介绍
  • [LeetCode-Python版] 定长滑动窗口1(1456 / 643 / 1343 / 2090 / 2379)
  • imx6ull qt多页面控制系统(正点原子imx系列驱动开发)
  • OCR:文字识别
  • SQL Server通过存储过程实现自定义邮件格式并定时发送
  • 【进阶编程】MVC和MVVM实现前后端分离的实现
  • HT81297 18W内置升压单声道D类音频功放
  • linux ipmitool配置机器的BMC(服务器管理后台)
  • 【项目实战】location.href 实现文件下载
  • 【Threejs】从零开始(十)--加载gltf模型和压缩后的模型
  • 国标GB28181平台EasyGBS在安防视频监控中的信号传输(电源/视频/音频)特性及差异
  • Day9 神经网络的偏导数基础
  • day4:tomcat—maven-jdk
  • apache-tomcat-6.0.44.exe Win10
  • Redis(2)常用命令