11.pytest_skip跳过测试用例

本文介绍了如何使用pytest库中的skip和skipif装饰器来跳过测试用例,包括根据条件跳过、跳过测试类和模块。通过示例展示了不同情况下的跳过方法,并提到了pytest.skip()的使用,以及对测试类和模块的跳过策略。
摘要由CSDN通过智能技术生成

pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能

skip意味着只有在满足某些条件时才希望测试通过,否则pytest应该跳过运行测试。 常见示例是在非Windows平台上跳过仅限Windows的测试,或跳过测试依赖于当前不可用的外部资源(例如数据库)。

xfail意味着您希望测试由于某种原因而失败。 一个常见的例子是对功能的测试尚未实施,或尚未修复的错误。 当测试通过时尽管预计会失败(标有pytest.mark.xfail),它是一个xpass,将在测试摘要中报告。

pytest计数并分别列出skip和xfail测试。 未显示有关跳过/ xfailed测试的详细信息默认情况下,以避免混乱输出。 您可以使用-r选项查看与“short”字母对应的详细信息显示在测试进度中;

pytest -rxXs # show extra info on xfailed, xpassed, and skipped tests

@pytest.mark.skip()

如果我们想要跳过某条用例,我们可以直接用@pytest.mark.skip()标签来装饰该用例。
我们在要跳过的测试用例上加上@pytest.mark.skip()标签,可以选择传入一个非必须参数reason表示原因。需要说明的是我们在pytest.main()方法中新加了一个参数"-r",他可以显示出每个用例的简短的执行结果

import pytest


@pytest.mark.skip(reason="就是不想执行而已")
def test_one():
        print("test_one方法执行" )
        assert 1==1

def test_two():
        print("test_two方法执行" )
        assert "o" in "love"

def test_three():
        print("test_three方法执行" )
        assert 3-2==1


if __name__=="__main__":
    pytest.main(['-s','test_skipDemo01.py'])

运行结果:

est_skipDemo01.py::test_one SKIPPED                                     [ 33%]
Skipped: 就是不想执行而已

test_skipDemo01.py::test_two PASSED                                      [ 66%]test_two方法执行

test_skipDemo01.py::test_three PASSED                                    [100%]test_three方法执行


======================== 2 passed, 1 skipped in 0.03s =========================

@pytest.mark.skipif()

其实看到了标签我们就已经猜到了它是根据某个条件来判断是否跳过该用例,如果该条件的返回值是True便跳过。

我们在要判断是否要跳过的测试用例上添加@pytest.mark.skipif()标签;传入condition参数,也就是判断条件,该参数是必须参数;可以选择传入非必须参数reason:跳过的原因;如果多个标签一起使用,满足其中一个跳过条件则会跳过该用例。


                
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest中,有几种方法可以跳过测试用例。一种方法是使用pytest.mark.skip装饰器,在需要跳过测试用例上添加该装饰器,同时传入reason参数来标注跳过的原因。该方法可以基于某个条件来决定是否跳过测试用例,只需将条件作为参数传入装饰器中的condition参数即可。如果条件为True,测试用例将被跳过,如果条件为False,测试用例将继续执行。 另一种方法是使用pytest.skip函数,在测试用例内部调用该函数可以直接跳过当前用例。可以在函数调用时添加reason参数来指定跳过的原因。 总结起来,pytest跳过测试用例的方法有两种:使用pytest.mark.skip装饰器和使用pytest.skip函数。这两种方法都可以根据条件或原因来决定是否跳过测试用例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【自动化测试】Pytest框架 —— 跳过测试和失败重试](https://blog.csdn.net/jiangjunsss/article/details/130642266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [pytest自动化跳过不想执行的测试用例](https://blog.csdn.net/weixin_57805858/article/details/131095478)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值