跳过用例skip,skipif

前言:

在测试过程中,因功能暂未开发完成,需要跳过用例的,或者因为运行平台不一样,需要根据平台类型来判断是否执行用例的情况,

pytest提供了处理此类场景的功能,那就是skip与skipif。

 

一、skip()

参数:reaseon,string类型。

import pytest

paltform = "windows"


class TestSkip:
    @pytest.mark.skip(reason="not available")
    def test_ts(self):
        print("this is test_ts")
        assert 1 == 1

执行结果:

 

 

 可以看到,用例被跳过执行了,执行的结果为s,skipped。

 

二、skipif()

参数:

reason:string类型

condition:bool类型

  
import pytest

paltform = "windows"


class TestSkip:
    @pytest.mark.skip(reason="not available")
    def test_ts(self):
        print("this is test_ts")
        assert 1 == 1

    @pytest.mark.skipif(reason="this testcase is for windows", condition=(paltform=="windows"))
    def test_ts_1(self):
        print("this is test_ts_1")
        assert 1 == 2

    @pytest.mark.skipif(reason="this testcase is for mac", condition=(paltform == "mac"))
    def test_ts_2(self):
        print("this is test_ts_2")
        assert 1 == 2

执行结果:

 

 

 我们可以看到,只有test_ts_2执行了,因为其condition为False,所以未被跳过,而test_ts是肯定会被跳过的,test_ts_1的condition条件为True,满足跳过条件,

所以也被跳过了。

posted @ 2022-03-10 16:29  Target_L  阅读(111)  评论(0)    收藏  举报