Pytest测试框架(8):pytest_测试用例跳过(忽略)设置

测试用例跳过:

  在实际工作中,经常需要跳过某个测试用例,比如现阶段某个功能还没有开发完毕,但是先把测试用例写到了pytest中,因此需要先把这个测试用例给跳过。

可以使用如下方式跳过用例:

1、使用@pytest.mark.skip(self,reason=None):在要跳过的测试用例前加入该标签,并可以选择传入一个非必须参数reason表示原因

代码示例:

import pytest


class TestDome_09:

    @pytest.mark.skip('无条件跳过')  # 无条件跳过
    def test_case_01(self):
        print("----- 用例01 -----",end=" ")
        assert True
    def test_case_02(self):
        print("----- 用例02 -----",end=" ")
        assert True

    def test_case_03(self):
        print("----- 用例03 -----",end=" ")
        assert True

    def test_case_04(self):
        print("----- 用例04 -----",end=" ")
        assert True

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

执行效果:

2、使用@pytest.mark.skipif(self,condition,reason=None):在要跳过的测试用例前加入该标签,根据condition条件判断是否进行跳过

代码示例:

import pytest


class TestDome_09:

    def test_case_01(self):
        print("----- 用例01 -----",end=" ")
        assert True

    @pytest.mark.skipif([1, 2, 3],reason='条件成立时跳过')
    def test_case_02(self):
        print("----- 用例02 -----",end=" ")
        assert True

    def test_case_03(self):
        print("----- 用例03 -----",end=" ")
        assert True

    def test_case_04(self):
        print("----- 用例04 -----",end=" ")
        assert True

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

执行效果:

3、使用skip()方法:在测试用例中调用pytest.skip()方法来实现跳过,可以选择传入msg参数来说明跳过原因;如果想要通过判断是否跳过,可以写在if判断里

代码示例:

import pytest


class TestDome_09:

    def test_case_01(self):
        print("----- 用例01 -----",end=" ")
        assert True

    def test_case_02(self):
        print("----- 用例02 -----",end=" ")
        assert True

    def test_case_03(self):
        if True:
            pytest.skip('方法内部跳过')
        print("----- 用例03 -----",end=" ")
        assert True

    def test_case_04(self):
        print("----- 用例04 -----",end=" ")
        assert True

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

执行效果:

4、使用pytestmark=pytest.mark.skip()方法:可以跳过整个模块,注意pytestmark为关键字,必须用此名称

import pytest

pytestmark=pytest.mark.skip('跳过整个模块')
class TestDome_09:

    def test_case_01(self):
        print("----- 用例01 -----",end=" ")
        assert True

    def test_case_02(self):
        print("----- 用例02 -----",end=" ")
        assert True

    def test_case_03(self):
        print("----- 用例03 -----",end=" ")
        assert True

    def test_case_04(self):
        print("----- 用例04 -----",end=" ")
        assert True

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

执行效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值