尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Allure2 报告集成 Pytest 特性(xfail、skipif、fixture)
一. Allure2 报告集成 Pytest 特性xfail、skipif、fixtureAllure2 测试报告可以集成 Pytest 框架中的三大核心特性xfail、skipif、fixture集成后的测试结果会展示特定的标识在用例详情页面帮助测试人员快速定位问题。1.1xfail 标签管理“预期失败”应用场景在测试中有些场景是已知会出错的例如尚未修复的 Bug 或特定的负向测试。这时候可以使用pytest.mark.xfail标记这些用例告诉系统“这个失败是意料之中的”。Allure 报告中的表现形式被 xfail 标记的用例执行后会有两种结果Allure 报告会清晰地将它们区分开XFAIL (预期失败)情况用例被标记为 xfail并且执行确实失败了。解读这是最理想的情况说明你的预期是正确的。在报告统计中它通常不计入失败总数因为它是一个“已知的失败”。XPASS (意外通过)情况用例被标记为 xfail但执行竟然成功了。解读这通常意味着两件事之一好消息那个已知的 Bug 已经被修复了你应该更新测试代码移除 xfail 标记。坏消息你的测试用例写错了它并没有真正测试到预期的失败点。代码示例importpytest# 当用例通过时标注为 xfailpytest.mark.xfail(conditionlambda:True,reason这是一个预期失败的用例)deftest_xfail_expected_failure():this test is an xfail that will be marked as expected failureassertFalse# 当用例通过时标注为 xpasspytest.mark.xfaildeftest_xfail_unexpected_pass():this test is an xfail that will be marked as unexpected successassertTrue结果预期失败结果意外通过1.2skipif 标签条件化跳过测试应用场景在测试中,有一些测试用例已经发现了某些 bug,但还没有修复或开发完成可以使用pytest.mark.skipif(condition, reason...)自动跳过测试而不是强行执行导致报错。语法说明pytest.mark.skipif(失败卡点, reason卡点说明)Allure 报告中的表现形式状态展示报告中会清晰显示该用例状态为Skipped跳过。原因追溯Allure 会直接展示跳过的具体原因reason和触发条件。这让你一眼就能看出是因为“22!5”这种逻辑条件导致用例被略过无需查看代码即可理解上下文。代码示例importpytest# 跳过用例pytest.mark.skipif(2 2 ! 5,reason当条件触发时这个用例被跳过 pytest.mark.skipif)deftest_skip_by_triggered_condition():pass结果符合卡点跳过用例1.3fixture 标签可视化生命周期管理应用场景fixture 和 finalizer 是分别在测试开始之前和测试结束之后由 Pytest 调用的实用程序函数。Allure 跟踪每个 fixture 的调用并详细显示调用了哪些方法以及哪些参数从而保持了调用的正确顺序。Allure 报告中的表现形式Allure 将测试过程拆解为三个清晰的阶段极大地增强了调试能力Set up (前置)展示 fixture 的初始化过程。如果前置失败测试不会执行。Test body (测试主体)展示测试用例本身的执行日志和结果。Tear down (后置)展示 finalizer终结器的清理动作。状态展示报告中会清晰显示该用例状态为Skipped跳过。代码示例importpytestpytest.fixture()deffunc1():print(这是一个fixture func1前置动作)yieldprint(这是一个fixture func1后置动作)pytest.fixture()deffunc(request):# 前置动作 -- 相当于setuoprint(这是一个fixture方法)# 后置动作 -- 相当于teqrdown# 定义一个终结器teardown动作放在终结器中defover():print(session级别终结器)request.addfinalizer(over)classTestClass(object):deftest_with_scoped_finalizers(self,func,func1):print(测试用例)结果显示具体的前置后置和主体测试步骤
RELATED

相关推荐

Java线程通信:wait/notify机制详解与最佳实践

Java线程通信:wait/notify机制详解与最佳实践

1. 为什么需要等待-通知机制在Java并发编程的世界里,线程间的协作是一个永恒的话题。想象这样一个场景:你去银行办理业务,发现前面有20个人在排队,而柜员只有一个。此时你有三个选择:不断询问柜员"轮到我了没&…

📅 2026/9/14 22:13:39
GitDiagram 部署故障转移指南:基于 Dockerfile 与 railway.json 的离线 Railway 恢复方案

GitDiagram 部署故障转移指南:基于 Dockerfile 与 railway.json 的离线 Railway 恢复方案

GitDiagram 部署故障转移指南:基于 Dockerfile 与 railway.json 的离线 Railway 恢复方案 【免费下载链接】gitdiagram Free, simple, fast interactive diagrams for any GitHub repository 项目地址: https://gitcode.com/GitHub_Trending/gi/gitdiagram G…

📅 2026/9/14 22:13:39
怎么用手机远程操控电脑 手机怎么远程操控电脑

怎么用手机远程操控电脑 手机怎么远程操控电脑

怎么用手机远程操控电脑?外出时临时要处理电脑内的文档、调取本地资料,不少人会被复杂的配对流程拦住去路。怎么用手机远程操控电脑更省心高效呢?推荐使用无界趣连2.0,轻松搭建起手机与电脑之间的连接,外出外勤、居家休…

📅 2026/9/14 22:08:39
MORE NEWS

更多资讯

📰

Kuikly跨端实践:把DeepSeek Harness装进口袋

先交代一下背景。DeepSeek Harness 这个名字,最近在群里和社区里频繁出现,很多人搜的是“怎么安装”“怎么下载”“有没有插件”,但深入用一圈之后会发现,它本质上做的是同一件事:把 DeepSeek 这套模型能力的管理、调度…

📰

500kW光伏逆变器仿真模型设计与优化实践

1. 项目背景与核心需求500kW三相光伏并网逆变器作为中大型光伏电站的核心设备,其仿真模型的准确性直接影响系统设计的经济性和可靠性。在实际工程中,我们常遇到三个典型问题:MPPT动态响应与光照突变的匹配度不足、SVPWM调制引发的THD超标、并…

📰

【xilem0.4基础语法学与练】第40课 masonry_winit

前言 参考官方文档:https://crates.io/crates/masonry_winit 版本:masonry_winit 0.4.0,masonry0.4.0,Xilem0.4 一、masonry_winit是什么 masonry_winit 是Masonry的桌面窗口后端,基于底层 winit 库封装,专…

📰

Steam 游戏卡在正在启动的 Windows 排查流程

Steam 游戏卡在“正在启动”不是单一故障。排查时先区分单个 AppID 失败、多个游戏失败、启动器无窗口、DLL/fatal error、驱动更新后失败、后台软件冲突。建议从低风险动作开始:验证游戏文件、清 Steam 下载缓存、结束残留进程、补 VC/DirectX、检查显卡驱动、排除…

📰

【Python项目实战】用户系统:注册登录与密码哈希

现在你的博客有个大漏洞:任何人都能发文章、删文章。 今天装上门禁——注册、登录、登出,顺便回答【Python项目实战】项目强密码生成器:随机、安全与剪贴板这篇文章里埋的那个问题:为什么密码必须“哈希加盐”存储。 🎯 本篇成品:博客v3——注册、登录、登出、flash提示…

📰

Axios封装实战:从拦截器到TypeScript,打造统一请求架构

开门见山,这个话题我太有发言权了。刚工作那两年,我的 Axios 用法就是“哪页用哪页调”,登录接口一个写法、列表接口一个写法,后端改个字段类型我得全局搜半天。直到有次 code review 被组长指着鼻子问“你这错误提示为什么有的弹…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬