文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Pytest中skip skipif跳过的使用方法

2023-06-20 12:40

关注

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

前言

@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.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 ==============================

跳过标记

# 标记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 )

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

参数列表

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跳过的使用方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯