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

@pytest.mark.xfail 的用法

语法:

@pytest.mark.xfail(condition,reason,strict)
condition默认为true,表示启动这个装饰器
reason在不符合期望时展示
strict是为了解决这样一种情况:当一个被标记为 xfail 的测试意外通过了(也就是 Bug 被修复了,或者功能终于开发完了),pytest 默认会把它标记为 XPASS(Unexpected Pass)。默认情况下,XPASS 不会导致整个测试流程崩溃,你的 CI/CD 依然是绿灯通过的。这就会导致一个问题:开发把 Bug 修好了,但没人记得去删掉测试代码上的 @pytest.mark.xfail 标记。 久而久之,代码里全是废弃的标记。strict=True 就是为了解决这个问题的。它规定:如果一个预期会失败的测试居然通过了,那就强制让它报错!

测试代码:

import pytest@pytest.mark.xfail(strict=True, reason='原因1')
def test_xfail1():assert False@pytest.mark.xfail(strict=True, reason='原因2')
def test_xfail2():assert True@pytest.mark.xfail(strict=False, reason='原因3')
def test_xfail3():assert False@pytest.mark.xfail(strict=False, reason='原因4')
def test_xfail4():assert Truedef test_xfail5():assert Falsedef test_xfail6():assert True@pytest.mark.skip
def test_xfail7():assert True

结果:

Results (0.20s):1 passed1 xpassed2 failed- test_xfail.py:7 test_xfail2- test_xfail.py:19 test_xfail52 xfailed1 skipped

生成allure报告:

pytest .\test_xfail.py --alluredir=../xml --clean-alluredir  //生成xml
allure generate ../xml -o ../html -c  // 生成html工程
allure open ../html  //启动工程

通过的用例:
image

失败的用例:
image

跳过的用例
image

结论:
注解未开启:成功是passed,失败是failed
注解开启,严格模式未开启:成功是xpassed,失败是xfailed
严格模式开启:失败是xfailed,成功是failed

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

相关文章:

  • 如何在长三角选海参:品质、正宗、口碑俱佳的连锁品牌推荐 - 资讯焦点
  • 告别手动降重!学霸私藏的查重神器太香了
  • 从STM32到GD32F470:手把手教你移植ICM20602的SPI驱动(附完整代码与避坑指南)
  • 技术面试监控系统:日志收集与性能分析终极指南
  • 抖音下载器终极指南:3步轻松下载无水印视频与直播回放
  • Thorium浏览器:超越Chrome的开源性能怪兽,为何成为技术爱好者的新宠?
  • 温州西装定制实测推荐|5家热门门店排名,品质/性价比/版型全测评 - 资讯焦点
  • 煤矿用电力电缆哪家好?2026最新安全采购选型指南 - 深度智识库
  • 告别RLHF的复杂流程:用DPO直接微调你的大语言模型(附PyTorch代码)
  • .NET集成ChatGPT:rodion-m开源库生产级应用指南
  • LinkSwift:九大网盘直链解析工具,告别繁琐下载流程
  • 利用 Taotoken 统一 API 简化多智能体系统的模型管理
  • 手把手教你用CAPL在CANoe中模拟ECU节点:从变量定义到报文发送的完整流程
  • 3篇3章4节:Obsidian 的插件库和非 Markdown 编辑方法
  • ComfyUI-Florence2完整指南:5分钟解锁微软视觉语言模型的终极力量
  • 正本清源!关于所谓“2026年5月劳力士全国官方售后维修服务中心最新公告”大量地址与我方高度重合、误导消费者的严正辟谣与全面声明 - 亨得利腕表维修中心
  • 2026年山西精准获客与GEO优化完全指南:手机号定向推广如何助力中小企业低成本获客 - 年度推荐企业名录
  • 脑机融合背景下的道德责任归因模型:基于拓扑增强鸿沟与分形时间特权的三阶分析框架(世毫九实验室原创研究)
  • 终极指南:Switch大气层1.7.1稳定版完整安装与优化教程
  • Catapult部署与运维指南:生产环境性能监控系统搭建
  • MilkyTracker与Amiga ProTracker兼容性:复古音效的现代重现
  • 2026年香港身份中介怎么选?香港身份高端定制化服务深度测评 - 速递信息
  • 2026年山西精准获客门店引流完全指南:手机号定向推广、GEO优化与短视频代运营深度横评 - 年度推荐企业名录
  • 别再只会看Trace了!手把手教你用CANoe的System Variables和面板控件打造动态监控界面
  • 2026 南京雅思机构红黑榜:五大机构真实口碑全拆解 - 资讯焦点
  • Redux-Loop入门教程:5分钟学会在Redux中管理异步副作用
  • 终极GitHub加速计划:前端与后端性能优化的10个提速技巧
  • 2026年德州沥青筑路设备源头厂家深度横评:沥青加温设备、储存罐与乳化生产设备采购全攻略 - 精选优质企业推荐官
  • UnityMeshSimplifier常见问题排查:从安装到部署的完整解决方案
  • 上海全屋除甲醛口碑优选|实测5家靠谱机构,哪家好一看便知 - 资讯焦点