iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Pytest中skip skipif跳过的使用方法
  • 664
分享到

Pytest中skip skipif跳过的使用方法

2023-06-20 12:06:33 664人浏览 八月长安
摘要

这篇文章主要讲解了“Pytest中skip skipif跳过的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Pytest中skip skipif跳过的使用方法”吧!前言pytest.

这篇文章主要讲解了“Pytest中skip skipif跳过的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Pytest中skip skipif跳过的使用方法”吧!

前言

  • pytest.mark.skip可以标记无法在某些平台上运行的测试功能,

  • 或者您希望失败的测试功能希望满足某些条件才执行某些测试用例,否则pytest会跳过运行该测试用例

  • 实际常见场景:跳过非windows平台上的仅Windows测试,或者跳过依赖于当前不可用的外部资源(例如数据库)的测试

@pytest.mark.skip

跳过执行测试用例,有可选参数reason:跳过的原因,会在执行结果中打印

#!/usr/bin/env python# -*- coding: utf-8 -*-"""__title__  = __Time__   = 2020/4/9 13:49__Author__ = 小菠萝测试笔记__Blog__   = https://www.cnblogs.com/poloyy/"""import pytest@pytest.fixture(autouse=True)def login():    print("====登录====")def test_case01():    print("我是测试用例11111")@pytest.mark.skip(reason="不执行该用例!!因为没写好!!")def test_case02():    print("我是测试用例22222")class Test1:    def test_1(self):        print("%% 我是类测试用例1111 %%")    @pytest.mark.skip(reason="不想执行")    def test_2(self):        print("%% 我是类测试用例2222 %%")@pytest.mark.skip(reason="类也可以跳过不执行")class TestSkip:    def test_1(self):        print("%% 不会执行 %%")

执行结果

Pytest中skip skipif跳过的使用方法

知识点

  • @pytest.mark.skip可以加在函数上,类上,类方法上

  • 如果加在类上面,类里面的所有测试用例都不会执行

  • 以上小案例都是针对:整个测试用例方法跳过执行,如果想在测试用例执行期间跳过不继续往下执行呢?

pytest.skip()函数基础使用

作用:在测试用例执行期间强制跳过不再执行剩余内容

类似:在Python的循环里面,满足某些条件则break 跳出循环

def test_function():    n = 1    while True:        print(f"这是我第{n}条用例")        n += 1        if n == 5:            pytest.skip("我跑五次了不跑了")

执行结果

Pytest中skip skipif跳过的使用方法

pytest.skip(msg="",allow_module_level=False)

当allow_module_level=True时,可以设置在模块级别跳过整个模块

#!/usr/bin/env python# -*- coding: utf-8 -*-"""__title__  = __Time__   = 2020/4/9 13:49__Author__ = 小菠萝测试笔记__Blog__   = Https://www.cnblogs.com/poloyy/"""import sysimport pytestif sys.platfORM.startswith("win"):    pytest.skip("skipping windows-only tests", allow_module_level=True)@pytest.fixture(autouse=True)def login():    print("====登录====")def test_case01():    print("我是测试用例11111")

执行结果

collecting ...
Skipped: skipping windows-only tests
collected 0 items / 1 skipped
============================= 1 skipped in 0.15s ==============================

@pytest.mark.skipif(condition, reason="")

作用:希望有条件地跳过某些测试用例

注意:condition需要返回True才会跳过

@pytest.mark.skipif(sys.platform == 'win32', reason="does not run on windows")class TestSkipIf(object):    def test_function(self):        print("不能在window上运行")

执行结果

collecting ... collected 1 item
07skip_sipif.py::TestSkipIf::test_function SKIPPED                       [100%]
Skipped: does not run on windows
============================= 1 skipped in 0.04s ==============================

跳过标记

  • 可以将pytest.mark.skip和pytest.mark.skipif赋值给一个标记变量

  • 在不同模块之间共享这个标记变量

  • 若有多个模块的测试用例需要用到相同的skip或skipif,可以用一个单独的文件去管理这些通用标记,然后适用于整个测试用例集

# 标记skipmark = pytest.mark.skip(reason="不能在window上运行=====")skipifmark = pytest.mark.skipif(sys.platform == 'win32', reason="不能在window上运行啦啦啦=====")@skipmarkclass TestSkip_Mark(object):    @skipifmark    def test_function(self):        print("测试标记")    def test_def(self):        print("测试标记")@skipmarkdef test_skip():    print("测试标记")

执行结果

collecting ... collected 3 items
07skip_sipif.py::TestSkip_Mark::test_function SKIPPED                    [ 33%]
Skipped: 不能在window上运行啦啦啦=====
07skip_sipif.py::TestSkip_Mark::test_def SKIPPED                         [ 66%]
Skipped: 不能在window上运行=====
07skip_sipif.py::test_skip SKIPPED                                       [100%]
Skipped: 不能在window上运行=====
============================= 3 skipped in 0.04s ==============================

pytest.importorskip( modname: str, minversion: Optional[str] = None, reason: Optional[str] = None )

作用:如果缺少某些导入,则跳过模块中的所有测试

参数列表

  • modname:模块名

  • minversion:版本号

  • reasone:跳过原因,默认不给也行

pexpect = pytest.importorskip("pexpect", minversion="0.3")@pexpectdef test_import():    print("test")

执行结果一:如果找不到module

Skipped: could not import 'pexpect': No module named 'pexpect'
collected 0 items / 1 skipped

执行结果一:如果版本对应不上

Skipped: module 'sys' has __version__ None, required is: '0.3'
collected 0 items / 1 skipped

感谢各位的阅读,以上就是“Pytest中skip skipif跳过的使用方法”的内容了,经过本文的学习后,相信大家对Pytest中skip skipif跳过的使用方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Pytest中skip skipif跳过的使用方法

本文链接: http://www.lsjlt.com/news/296741.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Pytest中skip skipif跳过的使用方法
    这篇文章主要讲解了“Pytest中skip skipif跳过的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Pytest中skip skipif跳过的使用方法”吧!前言pytest....
    99+
    2023-06-20
  • Pytest中skip和skipif的使用方法是什么
    本篇内容主要讲解“Pytest中skip和skipif的使用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pytest中skip和skipif的使用方法是什么”吧!skip的用法使用示...
    99+
    2023-06-20
  • VBS下Skip方法的用法
    本篇内容介绍了“VBS下Skip方法的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Skip 方法读取 TextStream 文件时跳过...
    99+
    2023-06-08
  • Pytest如何使用mark的方法
    目录一、常见的内置markers二、查看所有markers三、注册自定义marks四、对未注册mark的限制一、常见的内置markers usefixtures - 为测试函数或者测...
    99+
    2024-04-02
  • phpmyadmin跳过登录的方法
    这篇文章主要介绍phpmyadmin跳过登录的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!phpmyadmin怎么跳过登陆?phpMyAdmin跳过登陆的方法本地总是需要登陆才...
    99+
    2024-04-02
  • Pytest中conftest.py的用法
    目录前言什么是conftest.pyconftest.py特点conftest.py用法conftest.py实际案例test_baidu目录下前言 在之前介绍fixture的文章中...
    99+
    2024-04-02
  • 使用Java8 Stream流的skip + limit实现批处理的方法
    为什么需要 Stream Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同...
    99+
    2024-04-02
  • pytest中的fixture基本用法
    目录简介:fixture的功能特点及优势基本用法fixture在自动化中的应用--作用域fixture在自动化中的应用-yield关键字fixture在自动化中的应用--数据共享fi...
    99+
    2023-02-24
    pytest fixture用法 pytest fixture
  • pytest中的fixture如何使用
    本篇内容介绍了“pytest中的fixture如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!简介:  fixture区别于unnit...
    99+
    2023-07-05
  • win11跳过硬盘自检的方法
    这篇文章主要介绍了win11跳过硬盘自检的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇win11跳过硬盘自检的方法文章都会有所收获,下面我们一起来看看吧。首先按下快捷键“win+r”打开运行,输入命令“r...
    99+
    2023-07-01
  • HTML中a标签的使用方法及跳转方式
    1、a标签的跳转方式和使用方法 a元素最重要的属性是 href 属性,它指示链接的目标。 a标签的跳转方式有五种: 写法为 1 _blank表示跳到新页面打开,打开一个新窗口 _self表示当前页面打开链接 _p...
    99+
    2023-09-20
    java Powered by 金山文档
  • Android通过scheme跳转界面的方法
    这篇文章主要介绍Android通过scheme跳转界面的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Android通过scheme跳转界面,应该如何实现?需求通过后台返回链接地址eg: app://com.bo...
    99+
    2023-05-30
    android scheme
  • SharePlex跳过归档的方法是什么
    这篇文章主要讲解了“SharePlex跳过归档的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SharePlex跳过归档的方法是什么”吧!Shar...
    99+
    2024-04-02
  • Java中使用Filter过滤器的方法
    Filter过滤器 着重记录下 public void doFilter(){} 方法参数: (1) ServletRequest servletRequest  请求re...
    99+
    2024-04-02
  • 使用JSCH框架通过跳转机访问其他节点的方法
    之前搞了套远程访问ssh进行操作的代码,最近有需求,需要通过一台跳转机才能访问目标服务。在网上搜了半天,也没找到比较好的例子,就自己翻阅了下JSCH的API。但是看的云里雾里的。联想了下,端口转发的原理是否是把目标节点ip:port映射到l...
    99+
    2023-05-30
    jsch 跳转机 访问
  • VUE中的filters过滤器使用方法
    目录前言一、全局过滤器1、全局过滤器之单一挂载2、全局过滤器之批量挂载二、组件过滤器前言 Vue.js 允许我们自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双...
    99+
    2024-04-02
  • Maven打包跳过测试的实现方法
    目录一、命令行方式跳过测试二、pom.xml中配置跳过测试三、Idea中配置跳过测试1、直接配置2、更改Maven配置方式参考:使用Maven打包的时候,可能会因为单元测试打包失败,...
    99+
    2024-04-02
  • ogg之replicat进程跳过事务的方法
    本文主要讲述: 1.ogg 如何跳过事务 2.logdump 在事务寻找中的关键作用   复制进程 abended GGSCI (ORALTDB.ea...
    99+
    2024-04-02
  • pytest官方文档解读之安装和使用插件的方法
    目录一、pip 安装二、查找可用插件三、在测试模块或者conftest文件中加载指定插件四、查看被激活的插件五、注销插件本节讨论安装和使用第三方插件。关于编写自己的插件,我们下一章继...
    99+
    2024-04-02
  • win10跳过自动修复的方法有哪些
    Win10跳过自动修复的方法有以下几种:1. 使用高级启动选项:在开机过程中按住Shift键,然后点击“电源”按钮选择“重新启动”,...
    99+
    2023-08-22
    win10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作