Pytest学习笔记6-自定义标记mark
2024-10-11 21:01:52
前言
在pytest中,我们可以使用mark进行用例的自定义标记,通过不同的标记实现不同的运行策略
比如我们可以标记哪些用例是生产环境执行的,哪些用例是测试环境执行的,在运行代码的时候指定对应的mark即可
实例说明
举个
# test_demo.py
import pytest
@pytest.mark.production
def test_production():
print("生产环境测试用例")
@pytest.mark.dev
def test_dev1():
print("测试环境测试用例1")
@pytest.mark.dev
def test_dev2():
print("测试环境测试用例2")
def testnoMark():
print("没有标记测试")
使用命令pytest -s -m dev test_demo.py
执行
结果如下
可以看到,只执行了两条标记了dev的用例
处理warnings信息
创建一个pytest.ini文件
然后在 pytest.ini 文件的 markers 中写入你的 mark 标记, 冒号 “:” 前面是标记名称,后面是 mark 标记的说明,可以是空字符串
注意:pytest.ini需要和运行的测试用例同一个目录,或在根目录下作用于全局
规范使用mark标记
添加了pytest.ini文件之后 pytest 便不会再告警,但是如果我们在运行用例的时候写错了 mark 名,会导致 pytest 找不到用例,所以我们需要在 pytest.ini 文件中添加参数 “addopts = --strict-markers”
来严格规范 mark 标记的使用
添加该参数后,当使用未注册的 mark 标记时,pytest会直接报错:“ 'xxx' not found in markers configuration option
”,不执行测试任务
执行标记以外的用例
pytest -s -m "not dev" test_demo.py
结果如下
执行多个自定义标记的用例
pytest -s -m "dev or production" test_demo.py
结果如下
整理参考
最新文章
- 一起买beta版UI测试
- 使用System.Drawing.Imaging.dll进行图片的合并
- 重写(Override)与重载(Overload)
- 自动解析URL
- java基础九[网络与线程](阅读Head First Java记录)
- RabbitMQ(三) -- Publish/Subscribe
- python 调用zabbix api接口实现主机的增删改查
- 走进WCF一 (异常如此多娇,引无数码农竞折煞)
- mvc+EF比较好的框架
- git submodule相关操作
- CodeVS1344 线型网络
- 3. leetcode 463 Island Perimeter
- 团队作业4——第一次项目冲刺(Alpha版本)7th day
- java39
- Fortran一个获取硬件系统信息的函数库
- C#Winform的DEV下拉下拉控件介绍
- mybatis中的查询语句in用法的相关问题
- Java access to the Domino Objects, Part 1
- CSS 中 calc() 函数用法
- 【POJ】1704.Georgia and Bob
热门文章
- php中输出函数的区别
- 炸天的3D引擎OpenCASCADE的用法及案例(https://blog.csdn.net/xipengbozai/article/details/117044032?spm=1001.2014.3001.5502)
- ip_conntrack or nf_conntrack : table full, dropping packet
- gitlab的CI/CD实现
- 针对Tab键不能使用解决办法(Linux系统)
- 分布式存储ceph---openstack对接ceph存储后端(4)
- 微信引流的方式 PC控制手机的方式
- Linux系统编程【5】——stty的学习
- 面试侃集合 | SynchronousQueue公平模式篇
- Go语言web开发---Beego的cookie