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

Pytest的标签使⽤

1.在Pytest中,标签(也称为标记)是⼀种⽤于对测试⽤例进⾏分类或分组的机制2.通过为测试⽤例添加标签,可以在运⾏测试时选择性地执⾏特定标签的测试⽤例,从⽽ ⽅便地控制测试的范围和⽬标3.可以理解为:标签也是用来做过滤的一种方式
4.Pytest的标签功能基于装饰器来实现5.可以使⽤ @pytest.mark 装饰器为测试函数或测试类添加标签6.常⻅的⽤法是在测试函数或测试类上⽅添加装饰器,并指定相应的标签

一.mark后不同关键字的含义

1.@pytest.mark.skip:标记测试函数为"跳过测试",并提供跳过的原因1.1.这在你想要暂时跳过某些测试的情况下很有用,比如某个功能尚未实现或者有缺陷需要修复
2.@pytest.mark.xfail:标记"预期失败的测试"2.1.这表示预期该测试会失败,但想要运行它并收集结果。可以提供失败的原因
3.@pytest.mark.parametrize:使用"参数化标记来标记测试函数",并提供参数化的值3.1.这样测试函数将会根据提供的参数值运行多次,每次运行时使用不同的参数
4.@pytest.mark.somke:通常用于标记快速运行、覆盖基本功能、且对整体系统影响较小的测试4.1."Smoke测试"旨在快速验证系统的基本功能是否正常,通常在每次代码提交后都会运行,以便快速发现潜在的问题
5.@pytest.mark.slow:通常用于标记运行较慢、覆盖范围较广、对整体系统影响较大的测试5.1."Slow测试"可能包括集成测试、端到端测试、性能测试等,需要更长的时间来执行
6.自定义标签
6.1.@pytest.mark.任意标签内容:但是不能有中文、不能以数字开头;自定义标签mu

@pytest.mark.skip:跳过标记为skip的测试用例(不执行)

1.2.源码还是使用上面的"test001.py"代码

@pytest.mark.somke:仅运行文件中包含somke标签的测试用例

4.2.test001.py
importpytest@pytest.mark.smokedeftest_login():# 测试登录功能assertTrue@pytest.mark.regressiondeftest_registration():# 测试注册功能assertTrue@pytest.mark.smokedeftest_add_to_cart():# 测试添加到购物车功能assertTrue@pytest.mark.regressiondeftest_checkout():# 测试结账功能assertTrue@pytest.mark.skip#标记为跳过的用例deftest001():print("001")@pytest.mark.haileydeftest_test_002():print("添加一个标签后然后运行")
4.2.1.somke执行
pytest-vs-m smoke# 终端命令行的写法pytest.main(["-vs","-m","smoke"])# main文件的写法

@pytest.mark.自定义标签:指定自定义标签的用例运行,用例执行

6.2.源码还是使用上面的"test001.py"代码
pytest-vs-m hailey# 终端命令行的写法pytest.main(["-vs","-m","hailey"])# main文件的写法
6.3.执行后结果报错

6.4.配置pytest.ini⽂件:在项⽬根⽬录下的 pytest.ini ⽂件中可以指定全局标记,以应⽤于整个项⽬
iniCopy code[pytest][pytest]markers=smoke:Run smoke tests regression:Run regression tests hailey:这是对标签的解释
6.5.配置完成后,重新执行一下

二.Pytest标签的逻辑筛选

1.逻辑分为四种:是、非、或、和
1.1.是:pytest.main(["-vs","-m","hailey"])-->>pytest-m'hailey'-vs1.2.非:pytest.main(["-m","not hailey","-vs"])-->>pytest-m'not hailey'-vs1.3.或:pytest.main(["-vs","-m","hailey or smoke"])终端:-->>pytest-m'hailey or smoke'-vs1.4.和:pytest.main(["-vs","-m","hailey and smoke"])终端:-->>pytest-m'hailey and smoke'-vs
2.示例:test001.py
2.1."是"

2.2."非"

2.3."或"

2.4."和":执行结果报错

2.4.1."和"的逻辑:必须同时满足两个或多个条件,所以给自定义标签的这条用例上再加上smoke标签2.4.2.同一条用例,可以标记多个标签
2.4.3.再运行即可

http://www.jsqmd.com/news/1165655/

相关文章:

  • L9958与PIC24EP512GU814的电机控制方案详解
  • 2027国考省考笔试备考指南:临汾星途径课程体系如何精准赋能本地考生?
  • 大数据毕设项目:基于 Python + 深度学习的短视频兴趣画像匹配系统的设计与实现 基于 Python + 深度学习的短视频内容检索与推荐系统 (源码+文档,讲解、调试运行,定制等)
  • 工业信号链设计:FOD4216光耦与MK60DN512VLQ10微控制器的抗干扰实战
  • R语言PCAtools 2.0实战:转录组PCA分析3步完成,从矩阵到SCI级图表
  • 工地热水工程选型指南:三步搞定高效节能方案
  • 计算机大数据毕设实战-基于 Python 的多源网络舆情抓取与监控系统的设计与实现 基于文本挖掘的互联网舆情态势研判系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 网上办理登报声明可靠吗?实测4个常见的登报平台,用事实说话!
  • GeoScope GS-300 浅地层剖面仪:150米作业水深实测,40米穿透性能分析
  • 实用工具筛选四法则:场景匹配、原子操作、低学习成本、高容错率
  • MATLAB App Designer 2024a 实战:5步构建交互式绘图应用(附完整代码)
  • 正版电子书获取与数字阅读效率提升指南
  • IMAP vs POP3 vs SMTP:3大协议在QQ/163邮箱中的配置差异与选择
  • 企业AI提效的本质:从流程重构到人机协作的转型指南
  • Uber 如何为 PB 级数据湖构建 I/O 可观测性:从 HDFS/GCS 客户端埋点到 HiCam 高基数聚合
  • 标记一抗厂家选购指南:如何选出真正靠谱的科研伙伴
  • 【无人机路径规划】基于EASIALA算法实现三维湍流场无人机航路规划可视化系统附Matlab代码
  • STM32 PWM 电机控制实战:从 50Hz 到 16kHz 频率选择与 3 种调速方案对比
  • 巷仔萌力出圈 携平凉地道风味亮相第三十二届兰洽会
  • 2026年7月国内有实力的全自动灌装机直销厂家推荐,液体灌装机/灌装机/洗衣液灌装机,全自动灌装机厂家选哪家 - 品牌推荐师
  • AI时代,中国BI的全球竞争力正被重新定义
  • 如何通过全球市场研究网络实现海外供应商快速匹配与真实可靠数据支撑?
  • 商品比价业务发展前景:电商时代刚需解决方案
  • FPGA Cyclone V 5CSEMA5F31C6 交通灯项目:数码管倒计时与管脚分配实战
  • 函数定义与调用:面试官问“函数重载底层怎么实现的“,我愣住了
  • 腾讯洽谈 20 亿美元回购 Manus 成最大股东,该公司或赴港上市
  • AI安全机制与破甲技术:原理、风险与防护实践
  • STM32 HAL库 UART 过采样配置实战:16倍 vs 8倍模式下的115200波特率误差实测
  • GPU频繁掉卡、服务器识别不到?8 大根因一次性排查清楚
  • 腾讯混元Hy3大模型:MoE架构实现高性价比物理模拟与推理