跳过用例

章节目录:

    • 一、概述
    • 二、跳过用例函数
    • 三、执行期间跳过剩余步骤
    • 四、跳过整个测试模块
    • 五、判断跳过部分用例
    • 六、跳过标记
    • 七、依赖检查
    • 八、结束语

一、概述

  • @pytest.mark.skip 可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能。
  • 希望满足某些条件才执行某些测试用例,否则 pytest 会跳过运行该测试用例。
  • 实际常见场景:跳过非Windows平台上的仅Windows测试,或者跳过依赖于当前不可用的外部资源(例如数据库)的测试。

二、跳过用例函数

使用 @pytest.mark.skip

  • 代码示例
import pytestdef test_case01():print("test_case01 run")@pytest.mark.skip(reason="用例存在问题!")
def test_case02():print("test_case02 run")@pytest.mark.skip(reason="用例未编写完成!")
def test_case03():print("test_case03 run")@pytest.mark.skip("该类的所有用例都跳过!")
class TestSample:def test_case04(self):print("test_case04 run")# test_case01 run
# test_case02 SKIPPED (用例存在问题!)
# test_case03 SKIPPED (用例未编写完成!)
# test_case04 SKIPPED (该类的所有用例都跳过!) 
# ======================== 1 passed, 3 skipped in 0.01s =========================
  • @pytest.mark.skip 可以加在函数或者类上。
  • 加在类上时,该类下的所有测试用例都不会执行。

三、执行期间跳过剩余步骤

使用 pytest.skip() 函数。

  • 代码示例
import pytestdef test_case01():c = 0while True:print(f"run {c} 次。")if c == 3:pytest.skip("3次后,停止执行。")c += 1# run 1 次。
# run 2 次。
# run 3 次。
# Skipped: 3次后,停止执行。
# ============================= 1 skipped in 0.01s ==============================

四、跳过整个测试模块

使用 pytest.skip(msg="",allow_module_level=True)

  • 代码示例
import sysimport pytestif sys.platform.startswith("win"):pytest.skip("跳过仅在 windows 上运行的测试用例集。", allow_module_level=True)@pytest.fixture(autouse=True)
def login():print("login")def test_case01():print("test_case01")# Skipped: 跳过仅在 windows 上运行的测试用例集。
# ============================= 1 skipped in 0.01s ==============================

五、判断跳过部分用例

使用 @pytest.mark.skipif(condition, reason="") 。condition 需要返回 True 才会跳过。

  • 代码示例
import sysimport pytestenvironment = "android"@pytest.mark.skipif("environment=='android'", reason="android 平台没有这个功能。")
def test_case_01():print("test_case_01")@pytest.mark.skipif(sys.platform == "linux", reason="不在 linux 下运行。")
@pytest.mark.skipif(sys.version_info < (3, 6), reason="Python 3.6 版本以下不执行,你需要更高版本。")
def test_case_02():print("test_case_02")# test_case_01 SKIPPED (android 平台没有这个功能。)
# test_case_02 PASSED
# ======================== 1 passed, 1 skipped in 0.01s =========================

六、跳过标记

被赋值的 @skipmark@skipifmark通用跳过标记,可添加到需要用到的测试用例上。

  • 代码示例
import sysimport pytest# 标记设置。
skipmark = pytest.mark.skip(reason="标记跳过!")
skipifmark = pytest.mark.skipif(sys.platform == 'win32', reason="不能在 windows 上运行!")@skipmark
def test_case01():print("test_case01")@skipifmark
def test_case02():print("test_case02")# test_case01 SKIPPED (标记跳过!)
# test_case02 SKIPPED (不能在 windows 上运行!)
# ============================= 2 skipped in 0.01s ==============================

七、依赖检查

如果缺少某些导入,则跳过模块中的所有测试:pytest.importorskip( modname: str, minversion: Optional[str] = None, reason: Optional[str] = None )

  • 代码示例
import pytest# "none" 为不存在的模块名,minversion 则是进行模块版本检查。
pexpect = pytest.importorskip("none", minversion="0.3")@pexpect
def test_import():print("test_import")# Skipped: could not import 'none': No module named 'none'

八、结束语


“-------怕什么真理无穷,进一寸有一寸的欢喜。”

微信公众号搜索:饺子泡牛奶

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

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

相关文章

安卓在SOA中的运用

安卓在运用SOA研发的过程中&#xff0c;会针对实际情况对研发的架构和流程进行优化&#xff0c;通过优化过的架构和实施方案&#xff0c;不仅可以大大提升了整车开发的效率和灵活行以及功能落地的稳定性&#xff0c;同时也增加了系统的向上兼容性。 目前基于车载SOA系统的研发…

Python子进程内numpy.random失效

问题描述&#xff1a;子进程内调用 np.random.randint()&#xff0c;生成的随机数相同 问题分析&#xff1a;Random seed is replication across child processes Issue #9650 numpy/numpy GitHub 向大佬致敬 解决办法&#xff1a;在子进程调用的函数的首行添加 np.rand…

如何在Mendix中实现全文检索

功能背景 在日常的应用使用过程中&#xff0c;存在大量希望使用全文检索技术的场景&#xff0c;对资料库中的内容进行查询。Mendix默认的结构化查询方式&#xff0c;适合对特定业务实体进行类似数据库单表的基于SQL语句的查询。那如何在Mendix实现全文检索的功能呢&#…

聊聊PowerJob的HttpProcessor

序 本文主要研究一下PowerJob的HttpProcessor BasicProcessor tech/powerjob/worker/core/processor/sdk/BasicProcessor.java public interface BasicProcessor {/*** 核心处理逻辑* 可通过 {link TaskContext#getWorkflowContext()} 方法获取工作流上下文** param contex…

Windows CPU部署llama2量化模型并实现API接口

目录 模型部署本地运行llama2使用fastapi实现API接口常用git仓库 模型部署 从huggingface下载模型 https://huggingface.co/ 放在本地文件夹&#xff0c;如下 本地运行llama2 from ctransformers import AutoModelForCausalLMllm AutoModelForCausalLM.from_pretrained(&q…

请求转发和重定向的区别

当客户端向服务器发送一个请求时&#xff0c;服务器可以通过请求转发和重定向两种方式来处理请求。这两种方式有着不同的实现机制和应用场景。 请求转发&#xff08;Forward&#xff09;&#xff1a; 请求转发是指服务器接收到一个客户端的请求后&#xff0c;将该请求转发给另…

微软好听的tts语音包下载,粤语,韩语,日语

微软的 tts 语音库&#xff0c;都是离线的&#xff0c;所以速度非常快 但资源比较少&#xff0c;比如粤语&#xff0c;韩语&#xff0c;日语 我发现一个老牌语音技术供应商。 资源丰富&#xff0c;可自行下载免费或收费语音包。 网站&#xff1a;正版用户专用配套播音员下载…

gitee添加仓库人员

1.进入gitee项目&#xff0c;点击管理 2.点击仓库成员管理&#xff0c;展开仓库成员管理节点&#xff0c;选择所有或者开发者 3.点击添加仓库成员 4. 邀请用户

Superset二次开发之环境部署(Docker版)

目录结构: /data/superset ├── 3.x-build.sh – docker build 命令脚本 ├── 3.x-run.sh – docker run 命令脚本 ├── src …

1214:八皇后 深度优先搜索算法

1214&#xff1a;八皇后 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 22901 通过数: 14116 【题目描述】 会下国际象棋的人都很清楚&#xff1a;皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上&#xff08;有8 8个方格&#xff09;&#xff0c…

深度生成模型之GAN的评估 ->(个人学习记录笔记)

文章目录 深度生成模型之GAN的评估图像翻译的应用1. 风格迁移2. 数据增强3. 经典图像任务4. 内容创作5. 人脸图像编辑6. 人体图像编辑 图像翻译模型1. 有监督图像翻译模型2. 无监督图像翻译模型3. 多域图像翻译模型 深度生成模型之GAN的评估 图像翻译的应用 1. 风格迁移 各类…

2024年腾讯云服务器租用价格表_优惠活动大全_实时更新

腾讯云服务器租用价格表&#xff1a;轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月&#xff0c;云服务器CVM S5实例2核2G配置280.8元一年…

NA原理及配置

在IP地址空间中&#xff0c;a&#xff1b;b&#xff1b;c类地址中各有一部分地址&#xff0c;被称为私有IP地址&#xff08;私网地址&#xff09;&#xff0c;其余的为公有IP地址&#xff08;公网地址&#xff09; A&#xff1a;10.0.0.0 - 10.255.255.255 --- 相当于1条A类网段…

PyTorch官网demo解读——第一个神经网络(4)

上一篇&#xff1a;PyTorch官网demo解读——第一个神经网络&#xff08;3&#xff09;-CSDN博客 上一篇我们聊了手写数字识别神经网络的损失函数和梯度下降算法&#xff0c;这一篇我们来聊聊激活函数。 大佬说激活函数的作用是让神经网络产生非线性&#xff0c;类似人脑神经元…

十年磨一剑,花为缘享奢app打造行业的又一颠覆性创新

随着国内生活质量的提高&#xff0c;人们对于奢侈品的消费需求也在不断增长。消费者对于高品质、高价值的商品和服务的需求日益增长。2022年我国内地消费者奢侈品市场规模约为4700亿元&#xff0c;预计2023年我国内地消费者奢侈品消费预计将达到5500亿元&#xff0c;呈现出强劲…

旅游平台网页前后端

功能清单 游客功能 用户注册、登录登录权限拦截按名称搜索房间支付流程查看订单信息和状态评论预定过的房间&#xff0c;并自动修改订单状态查看统计剩余房间数量&#xff0c;数量为0时不可预定 管理员功能 房间分类管理 类型的删除、修改、查询&#xff08;准备添加增添功能…

Debezium日常分享系列之:Debezium 通知

Debezium日常分享系列之&#xff1a;Debezium 通知 一、概论二、Debezium通知格式三、Debezium 有关初始快照状态的通知四、Debezium 有关增量快照进度的通知五、启用 Debezium 通知六、访问 Debezium JMX 通知七、自定义通知渠道八、应用案例 一、概论 Debezium 通知提供了一…

Wnmp本地部署结合内网穿透实现任意浏览器远程访问本地服务

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 文章目录 前言1.Wnmp下载安装2.Wnmp设置3.安装cpolar内网穿透3.1…

测开基础概念

小王学习录 前言测试1. 什么是测试2. 测试和调试的区别3. 优秀测试人员应该具备的素质 需求1. 需求的定义2. 测试人员眼里的需求 测试用例1. 什么是测试用例(case)2. 什么是Bug 开发测试模型1. 软件的生命周期2. 瀑布模型3. 螺旋模型3. 增量和迭代4. 敏捷开发5. scrum6. 瀑布模…

chromium通信系统-ipcz系统(九)-ipcz系统代码实现-跨Node通信-代理和代理消除

chromium通信系统-ipcz系统(六)-ipcz系统代码实现-跨Node通信-基础通信 一文我们分析了跨Node的基础通信过程。 a进程和b进程通信的过程。 但在程序中a进程将自己打开的一对portal中的一个portal传递给了b进程。由于篇幅问题这个过程我们并没有分析&#xff0c;这篇文章我们就来…