pytest-yaml-sanmu(五):跳过执行和预期失败

图片

除了手动注册标记之外,pytest 还内置了一些标记可直接使用,每种内置标记都会用例带来不同的特殊效果,本文先介绍 3 种。

1. skip

skip 标记通常用于忽略暂时无法执行,或不需要执行的用例。

pytest 在执行用例时,如果发现用例有 skip 标记会无条件跳过,从而避免执行。

下面这个示例中,为用例使用了 skip 标记

# tests/test_mark_skip.yaml
test_name: 跳过用例mark:   - skip # 跳过该用例,不执行steps:  - request:      method: get      url: https://www.baidu.com

执行结果如下:

图片

图 1.skip 标记使用例被跳过执行

2. skipif

skipif 标记通常用于动态判断是否执行的用例。

pytest 在执行用例时,如果发现用例有 skipif 标记,会判断标记中的表达式:

  • 如果为真:跳过执行

  • 如果为假:正常执行

下面这个示例中,为用例使用了 skipif 标记

# tests/test_mark_skipif.yaml
test_name: 跳过条件为真mark:  - skipif: 1==1 # 跳过该用例,不执行steps:  - request:      method: get      url: https://www.baidu.com

执行结果如下:

图片

图 2. 条件为真时跳过执行

将 skipif 条件改为假

---test_name: 跳过条件为假mark:  - skipif: 1==2 # 不跳过该用例,正常执行steps:  - request:      method: get      url: https://www.baidu.com

可以正常执行了

图片

图 3. 条件为假时跳过执行

3. xfail

xfail 标记用来改变用例的预期结果。

一般来说,用例的预期结果执行过程中没有任何异常、错误。但是某些情况下可能预期用例执行过程中出现异常(例如断网)。

pytest 在执行用例时,如果发现用例有 xfail 标记:

  • 如果出现异常,将结果改为 xfailed,意外预期内的失败

  • 如果没有异常,将结果改为 xpassed,以为预期外的通过

创建三个用例,分别实现正常的通过、预期内外的失败,预期外的通过

# tests/test_mark_skipif.yaml
test_name: 失败的用例steps:  - request:      method: get      url: http://x1x2c3x5.x6 # 错误的地址,注定失败---test_name: 预期内的失败mark:  - xfail # 通过标记预期失败steps:  - request:      method: get      url: http://x1x2c3x5.x6 # 错误的地址,注定失败
---test_name: 预期外的通过mark:  - xfail # 通过标记预期失败steps:  - request:      method: get      url: https://www.baidu.com # 正确的地址会成功

执行结果如下:

图片

图 4. 预期内的失败与预期外的通过

能看到这里说明是真爱,关注一下吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/34394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LATR 算法解读

文章目录 1. 论文2. 环境安装3. 代码解读3. 1 初始化 lane query3.1.1 SparseInsDecoder3.1.2 loss 计算3.1.3 初始化instance query3.2 ref points 的生成3.3 lane query 和feats进行attention3.3.1 self attn3.3.1 cross attn4. 参考1. 论文 2. 环境安装 146 [2024-06-20 10…

收款机TTS语音芯片新方案:WT3000T8,双语合成流畅,字库解码多样!

发布时间:2024-06-26 09:20 浏览次数:88次 一:方案背景概述 随着科技的飞速发展,人工智能和语音识别技术在各个领域都得到了广泛应用。其中,文本转语音(TTS)技术以其独特的优势,在收…

基于springboot+vue的梦幻玩具乐园的设计与实现(在线购物平台)

需要源码和论文的小伙伴可以私信博主(有偿) ​​​​​课题目的与意义 随着互联网的不断普及与在线销售平台的迅猛发展,在线购物日益受到广大消费者的青睐与追捧。通过构建基于Spring BootVue的在线玩具商城,可以为玩具制造商、…

如何快速交付网络基础设施运维管理软件项目?

​ 基于nVisual网络基础设施数字孪生管理工具 开发项目需求 项目交付成本节省50%、进度提高100% ​ >>>nVisual主要功能<<< 01 场 景 ★ 支持层次化的场景结构 ★ 支持多种空间场景 ​ 02 规 划 ★ 丰…

基于Pytorch框架的深度学习ConvNext神经网络宠物猫识别分类系统源码

第一步:准备数据 12种宠物猫类数据:self.class_indict ["阿比西尼猫", "豹猫", "伯曼猫", "孟买猫", "英国短毛猫", "埃及猫", "缅因猫", "波斯猫", "布偶猫&q…

Go语言之函数和方法

个人网站: http://hardyfish.top/ 免费书籍分享: 资料链接:https://url81.ctfile.com/d/57345181-61545511-81795b?p3899 访问密码:3899 免费专栏分享: 资料链接:https://url81.ctfile.com/d/57345181-6…

学习TS看这一篇就够了!

目录 TS的优点和缺点基础类型数字类型布尔类型字符串类型void 类型null 类型和 undefined 类型bigint类型Symbol类型 其他类型数组元组枚举Enum对象和函数any void never unknown 的区别是什么泛型 Generic交叉类型联合类型 特殊符号 ? ?. ?? ! _修饰符 TS的优点和缺点 优…

如何集成CppCheck到visual studio中

1.CPPCheck安装 在Cppcheck官方网站下载最新版本1.70,官网链接:http://cppcheck.sourceforge.net/ 安装Cppcheck 2.集成步骤 打开VS,菜单栏工具->外部工具->添加,按照下图设置,记得勾选“使用输出窗口” 2.…

word2016中新建页面显示出来的页面没有页眉页脚,只显示正文部分。解决办法

问题描述:word2016中新建页面显示出来的页面没有页眉页脚,只显示正文部分。设置了页边距也不管用。 如图1 图1 解决: 点击“视图”——“多页”——“单页”,即可。如图2操作 图2 结果展示:如图3 图3

AI 大模型之美 | 更新完结

AI 大模型:技术的壮丽与美感 在当今的人工智能领域,大模型如同一座座巨大的桥梁,将计算机科学、语言学、认知科学等多个领域连接在一起。它们不仅仅是技术的象征,更是人类智慧与创新的结晶。本文将探讨AI大模型的壮丽与美感&…

‘pip‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️如遇文章付费,可先看…

【深度学习】快速入门KerasNLP:微调BERT模型完成电影评论情感分类任务

简介:本文将介绍 KerasNLP 的安装及使用,以及如何使用它在情感分析任务中微调 BERT 的预训练模型。 1. KerasNLP库 KerasNLP 是一个自然语言处理库,兼容 TensorFlow、JAX 和 PyTorch 等多种深度学习框架。基于 Keras 3 构建,这些…

核密度估计kde的本质

核密度估计的本质就是插值,不是拟合,只是不要求必须过已知点。 核为box窗函数 核为高斯函数

python利用cartopy绘制带有经纬度的地图

参考: https://makersportal.com/blog/2020/4/24/geographic-visualizations-in-python-with-cartopy https://scitools.org.uk/cartopy/docs/latest/ https://stackoverflow.com/questions/69465435/cartopy-show-tick-marks-of-axes 具体实现方式: …

201.回溯算法:全排列(力扣)

class Solution { public:vector<int> res; // 用于存储当前排列组合vector<vector<int>> result; // 用于存储所有的排列组合void backtracing(vector<int>& nums, vector<bool>& used) {// 如果当前排列组合的长度等于 nums 的长度&am…

Mybatis 到 MyBatisPlus

Mybatis 到 MyBatisPlus Mybatis MyBatis&#xff08;官网&#xff1a;https://mybatis.org/mybatis-3/zh/index.html &#xff09;是一款优秀的 持久层 &#xff08;ORM&#xff09;框架&#xff0c;用于简化JDBC的开发。是 Apache的一个开源项目iBatis&#xff0c;2010年这…

【图像处理实战】去除光照不均(Python)

这篇文章主要是对参考文章里面实现一种小拓展&#xff1a; 可处理彩色图片&#xff08;通过对 HSV 的 V 通道进行处理&#xff09;本来想将嵌套循环改成矩阵运算的&#xff0c;但是太麻烦了&#xff0c;而且代码也不好理解&#xff0c;所以放弃了。 代码 import cv2 import …

虚拟化 之八 详解构造带有 jailhouse 的 openEuler 发行版(ARM 飞腾派)

基本环境 嵌入式平台下,由于资源的限制,通常不具备通用性的 Linux 发行版,各大主流厂商都会提供自己的 Linux 发行版。这个发行版通常是基于某个 Linux 发行版构建系统来构建的,而不是全部手动构建,目前主流的 Linux 发行版构建系统是 Linux 基金会开发的 Yocto 构建系统。…

用一个暑假|用AlGC-stable diffusion 辅助服装设计及展示,让你在同龄人中脱颖而出!

大家好&#xff0c;我是设计师阿威 Stable Diffusion是一款开源AI绘画工具&#xff0c; 用户输入语言指令&#xff0c;即可自动生成各种风格的绘画图片 Stable Diffusion功能强大&#xff0c;生态完整、使用方便。支持大部分视觉模型上传&#xff0c;且可自己定制模型&#x…

什么是大模型?一文读懂大模型的基本概念

大模型是指具有大规模参数和复杂计算结构的机器学习模型。本文从大模型的基本概念出发&#xff0c;对大模型领域容易混淆的相关概念进行区分&#xff0c;并就大模型的发展历程、特点和分类、泛化与微调进行了详细解读&#xff0c;供大家在了解大模型基本知识的过程中起到一定参…