跳过用例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,满足跳过条件,
所以也被跳过了。
浙公网安备 33010602011771号