广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Pytest中skip和skipif的具体使用方法
  • 284
分享到

Pytest中skip和skipif的具体使用方法

skip和skipif的使用PythonPytest 2022-06-02 22:06:17 284人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

skip的用法 使用示例:@pytest.mark.skip(reason="跳过的原因,会在执行结果中打印") 标记在测试函数中 举个🌰 import pytest def test_1()

skip的用法

使用示例:@pytest.mark.skip(reason="跳过的原因,会在执行结果中打印")

标记在测试函数中

举个🌰


import pytest


def test_1():
    print("测试用例1")


@pytest.mark.skip(reason="没写完,不执行此用例")
def test_2():
    print("测试用例2")

执行结果如下:

标记在测试类的测试用例中

举个🌰


import pytest

class TestCase(object):
    def test_1(self):
        print("测试用例1")


    @pytest.mark.skip(reason="没写完,不执行此用例")
    def test_2(self):
        print("测试用例2")

执行结果如下

标记在测试类方法上

举个🌰


import pytest


@pytest.mark.skip(reason="没写完,不执行此用例")
class TestCase1(object):
    def test_1(self):
        print("测试用例1")

    def test_2(self):
        print("测试用例2")


class TestCase2(object):
    def test_3(self):
        print("测试用例3")

    def test_4(self):
        print("测试用例4")

执行结果如下

总结

  • @pytest.mark.skip 可以加在函数上,类上,类方法上
  • 如果加在类上面,则类里面的所有测试用例都不会执行

在测试用例执行期间强制跳过

以一个for循环为例,执行到第3次的时候跳出


import pytest

def test_demo():
    for i in range(50):
        print(f"输出第【{i}】个数")
        if i == 3:
            pytest.skip("跑不动了,不再执行了")

执行结果如下

在模块级别跳过测试用例

语法:pytest.skip(msg="",allow_module_level=False)

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


import pytest

pytest.skip("跳过整个模块", allow_module_level=True)

@pytest.fixture(autouse=True)
def test_1():
    print("执行测试用例1")

def test_2():
    print("执行测试用例2")

执行结果如下

有条件的跳过某些用例

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


import sys
import pytest


@pytest.mark.skipif(sys.platfORM == 'darwin', reason="does not run on MacOS")
class TestSkipIf(object):
    def test_demo(self):
        print("不能在MacOS上运行")

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

执行结果如下:

跳过标记的使用

  • 可以将 pytest.mark.skip 和 pytest.mark.skipif 赋值给一个标记变量
  • 在不同模块之间共享这个标记变量
  • 若有多个模块的测试用例需要用到相同的 skip 或 skipif ,可以用一个单独的文件去管理这些通用标记,然后适用于整个测试用例集

举个🌰


import sys
import pytest

skipmark = pytest.mark.skip(reason="不执行此用例")
skipifmark = pytest.mark.skipif(sys.platform == 'darwin', reason="does not run on MacOS")


@skipifmark
class TestSkipIf(object):
    def test_demo(self):
        print("不能在MacOS上运行")


@skipmark
def test_1():
    print("测试用例1")


def test_2():
    print("测试用例2")

执行结果如下

当缺少某些导入时跳过用例

语法:

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

参数:

  • modname: 需要被导入的模块名称,比如 selenium
  • minversion: 表示需要导入的最小的版本号,如果该版本不达标,将会打印出报错信息;
  • reason: 只有当模块没有被导入时,给定该参数将会显示出给定的消息内容

找不到对应module

举个🌰


import pytest
rock = pytest.importorskip("rock")

@rock
def test_1():
    print("测试是否导入了rock模块")

运行结果

如果版本不达标

举个🌰


import pytest
sel = pytest.importorskip("selenium", minversion="3.150")

@sel
def test_1():
  	print("测试是否导入了selenium模块")

运行结果

整理参考

小菠萝的测试笔记

到此这篇关于Pytest中skip和skipif的具体使用方法的文章就介绍到这了,更多相关skip和skipif的使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Pytest中skip和skipif的具体使用方法

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

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

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

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

下载Word文档
猜你喜欢
  • Pytest中skip和skipif的具体使用方法
    skip的用法 使用示例:@pytest.mark.skip(reason="跳过的原因,会在执行结果中打印") 标记在测试函数中 举个🌰 import pytest def test_1()...
    99+
    2022-06-02
    skip和skipif的使用 Python Pytest
  • 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
  • Python中str.format()方法的具体使用
    目录1. 术语说明 2. 简单字段名 2.1 简单字段名的说明 2.2 省略字段名 2.3 数字形式的简单字段名 2.4 变量名形式的简单字段名 2.5 简单字段名的混合使用 2.6...
    99+
    2022-11-12
  • Vue中使用TailwindCSS的具体方法
    目录1. 快速使用2. 快速了解 Tailwind CSS 类3. 在 Tailwind CSS 中使用 flex 布局4. 实现常见的布局5. 实现黑白主题切换6. Tailwin...
    99+
    2023-05-14
    Vue使用Tailwind CSS Vue Tailwind CSS
  • PHP中upload.php的具体使用方法
    这篇文章主要介绍“PHP中upload.php的具体使用方法”,在日常操作中,相信很多人在PHP中upload.php的具体使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中upload.php的...
    99+
    2023-06-17
  • Python3re.search()方法的具体使用
    re.search()方法扫描整个字符串,并返回第一个成功的匹配。如果匹配失败,则返回None。 与re.match()方法不同,re.match()方法要求必须从字符串的开头进行匹...
    99+
    2022-11-11
  • numpy.insert()的具体使用方法
    目录1. 参数说明2. 示例2.1. 插入一列,值为标量2.2. 插入一列,值为一维矩阵2.3. 插入多列,值为标量2.4. 输入为一维向量2.5. 输入为矩阵numpy.inser...
    99+
    2023-02-09
    numpy.insert()使用
  • Pythonlistsort方法的具体使用
    目录描述 语法 使用示例 1. 所有参数都省略 2. 指定key参数 3. 指定reverse参数 注意事项 1. sort函数会改变原列表顺序 2. 列表元素类型不一致 3. Py...
    99+
    2022-11-12
  • Gson之toJson和fromJson方法的具体使用
    目录1.toJson()方法是实现从java实体到Json相关对象的方法2.fromJson()方法来实现从Json相关对象到java实体的方法Gson是Google的一个开源项目,...
    99+
    2022-11-12
  • Java的invoke方法的具体使用
    如果读一些Java或者相关框架的源码,实际上一定会经常出现invoke方法的调用,在自己或者团队封装框架时,如果有时候弄得不好经常也会报invoke相关的错。 invoke方法是干什...
    99+
    2022-11-13
  • Linux中history命令的具体使用方法
    这篇文章主要介绍“Linux中history命令的具体使用方法”,在日常操作中,相信很多人在Linux中history命令的具体使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中history...
    99+
    2023-06-13
  • C语言结构体的具体使用方法
    目录初识C语言结构体1.为什么要有结构体2.结构体的定义2.1结构体类型的定义2.2定义结构体普通变量及访问2.3定义结构体指针变量及访问初识C语言结构体 1.为什么要有结构体 (1...
    99+
    2022-11-12
  • Linux的iptstate命令具体使用方法
    这篇文章主要介绍“Linux的iptstate命令具体使用方法”,在日常操作中,相信很多人在Linux的iptstate命令具体使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux的iptstat...
    99+
    2023-06-28
  • Dev-C++调试方法的具体使用
    目录写在前面具体步骤0. 确定编译器1. 开启调试模式2. 代码调试写在前面 已经弃坑Dev-C++有一段时间了,但作为一款轻量且新手友好的IDE,它往往是入门C/C++以及刷算法题...
    99+
    2022-11-13
  • 聊聊安装和使用Github源码的具体方法
    Github源码是开源社区中最受欢迎的源码托管平台之一,它为开发者提供了一个分享和合作的社区平台。使用Github源码需要一定的技术知识和操作技巧,接下来我将为您介绍安装和使用Github源码的具体方法。第一步,创建Github账号Gith...
    99+
    2023-10-22
  • Android中使用achartengine生成图表的具体方法
    今天在做项目的时候用到了图表功能,记录下来 achartengine是google的一个开源项目,可以在https://code.google.com/p/achartengi...
    99+
    2022-06-06
    achartengine 方法 Android
  • fullpage.js全屏滚动的具体使用方法
    1.fullpage.js  下载地址 https://github.com/alvarotrigo/fullPage.js  2.fullPage.js 是一个...
    99+
    2022-11-12
  • OpenCV中Grabcut算法的具体使用
    目录Grabcut 算法的基本步骤:Grabcut的相关API:Grabcut 算法的代码示例:Grabcut 算法主要运用于计算机视觉中的前背景分割,立体视觉和抠图等。该算法利用了...
    99+
    2022-11-13
    OpenCV Grabcut算法 OpenCV Grabcut
  • vue3中的watch()的用法和具体作用
    目录一、Vue3中watch()的用法二、Vue3中watch()的作用三、Vue3中新引入的监听方法watchEffect四、总结Vue.js 3是一款流行的JavaScript框...
    99+
    2023-05-17
    vue3 watch()方法 vue3 watch()用法 vue watch()
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作