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.rhkb.cn/news/366506.html

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

相关文章

Redis 7.x 系列【14】数据类型之流(Stream)

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. 常用命令2.1 XADD2.2 XRANGE2.3 XREVRANGE2.4 XDEL2.5 XLEN2.6 XREAD2.7 XG…

【.Net】Web项目部署腾讯云

文章目录 总述前置准备docker-compose部署普通部署 参考 总述 前置准备 云服务添加端口 另有linux本身防火墙请参考: 【Linux】防火墙命令 需安装.Net SDK和Asp .Net Runtime 注意: 1、sdk也要不只是runtime 2、是Asp .Net Runtime不是.Net Runtime …

国产音频放大器工作原理以及应用领域

音频放大器是在产生声音的输出元件上重建输入的音频信号的设备,其重建的信号音量和功率级都要理想:如实、有效且失真低。音频范围为约20Hz~20000Hz,因此放大器在此范围内必须有良好的频率响应(驱动频带受限的扬声器时要…

BIOS设置与系统分区

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 目录 一BIOS 1破解密码的前提 2B…

Spring Cloud Gateway3.x自定义Spring Cloud Loadbalancer负载均衡策略以及实现动态负载均衡策略的方案

目录 前言 1.原理分析 1.1 ReactiveLoadBalancerClientFilter源码分析 1.2 LoadBalancerClientFactory源码分析 2.代码实现 2.1 扩展原生RoundRobinLoadBalancer轮询策略 2.1.1 自定义实现RoundRobinLoadBalancer 2.1.2 配置自定义的RoundRobinLoadBalan…

【web3】分享一个web入门学习平台-HackQuest

前言 一直想进入web3行业,但是没有什么途径,偶然在电鸭平台看到HackQuest的共学营,发现真的不错,并且还接触到了黑客松这种形式。 链接地址:HackQuest 平台功能 学习路径:平台有完整的学习路径&#xff…

金蝶云星空字段之间连续触发值更新

文章目录 金蝶云星空字段之间连续触发值更新场景说明具体需求:解决方案 金蝶云星空字段之间连续触发值更新 场景说明 字段A配置了字段B的计算公式,字段B配置了自动C的计算公式,修改A的时候,触发了B的重算,但是C触发不…

ABeam×StartUp | ABeam德硕中国新创部门拜访通用机器人初创公司 :逐际动力,就具身智能机器人的发展展开交流

近日,ABeam中国新创部门有幸拜访了深圳逐际动力科技有限公司(以下简称:逐际动力)。作为一家通用机器人公司,其在人形机器人、四轮足机器人等领域具有深厚的学术与技术储备。 现场合影 左:ABeam中国新创部门…

最快33天录用!一投就中的医学4区SCI,几乎不退稿~

【SciencePub学术】今天小编给大家推荐2本生物医学领域的SCI,此期刊为我处目前合作的重点期刊!影响因子0-3.0之间,最重要的是审稿周期较短,对急投的学者较为友好! 医学医药类SCI 01 / 期刊概况 【期刊简介】IF&…

多模态融合 + 慢病精准预测

多模态融合 慢病精准预测 慢病预测算法拆解子解法1:多模态数据集成子解法2:实时数据处理与更新子解法3:采用大型语言多模态模型(LLMMs)进行深度学习分析 慢病预测更多模态 论文:https://arxiv.org/pdf/2406…

高通骁龙(Qualcomm Snapdragon)CDSP HVX HTP 芯片简介与开发入门

1. Hexagon DSP/HVX/HTP 硬件演进 说到高通骁龙芯片大家应该不会陌生,其作为最为广泛的移动处理器之一,几乎每一个品牌的智能手机都会使用高通骁龙的处理器。 高通提供了一系列骁龙芯片解决方案。根据性能强弱分为了5个产品系列:从最高端的…

数据结构_1.0

一、数据结构概述 1.1 概念 在计算机科学中,数据结构是一种数据组织、管理和存储的格式 。它是相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技…

【C语言】typedef 关键字

在C语言中,typedef关键字用于给现有的数据类型起一个新的名字。它在提高代码可读性、简化复杂类型声明、增强可维护性方面非常有用。typedef通常用于定义结构体、指针、函数指针以及其他复杂类型。 基本用法 typedef int MyInt; MyInt x 10;在这个例子中&#xf…

wps linux node.js 加载项开发,和离线部署方案

环境准备 windwos 安装node.js 安装VSCode 安装wps linux 安装node.js 安装VSCode 安装wps 通过npm 安装wpsjs SDK 使用npm安装wpsjs npm install -g wpsjs 创建一个项目 wpsjs create WPS-Addin-PPT 创建项目会让你选择2个东西: 1:选择你的文…

SpringBoot实现图片添加水印(完整)

提示:昨天不是写了一个类似与图片添加水印的版本吗,今天来写一个带数据库,并且可以完整访问的版本 文章目录 目录 文章目录 引入库 配置文件 数据库配置 字段配置 索引配置 数据库表语句 启动文件 前端代码 整体代码目录 配置类AppConfig Contro…

五千元软考补贴,这个地区的人别错过!

软考合格者可享受一些补贴,最高可达25万?!持有软考证书可领取哪些补贴?软考补贴详细信息 由于不同地区政策有时间限制,符合条件的人员应尽快领取哦~ 今天继续分享常德地区的补贴信息。 这里给大家总结一下和软考有关…

Java的日期类常用方法

Java_Date 第一代日期类 获取当前时间 Date date new Date(); System.out.printf("当前时间" date); 格式化时间信息 SimpleDateFormat simpleDateFormat new SimpleDateFormat("yyyy-mm-dd hh:mm:ss E); System.out.printf("格式化后时间" si…

ROS2 RQT

1. RQT是什么 RQT是一个GUI框架,通过插件的方式实现了各种各样的界面工具。 强行解读下:RQT就像插座,任何电器只要符合插座的型号就可以插上去工作。 2.选择插件 这里我们可以选择现有的几个RQT插件来试一试,可以看到和话题、参…

计算机公共课面试常见问题:线性代数篇

目录 1. 特征向量和特征值代表什么含义? 2. 矩阵的秩是什么?满秩代表什么?不满秩呢? 3. 奇异值分解是什么? …