pytest详解-(5)跳过用例

描述:skip和skipif可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能。要给跳过的测试添加理由和条件,应当使用skipif。

区别:使用skip和skipif标记,测试会直接跳过,而不会被执行。            skip和skipf区别:skip无条件跳过;skipif,有条件的跳过 语法:
1 @pytest.mark.skipif() or @pytest.mark.skip(msg="xxx")     #msg=跳过的原因
2 @pytest.mark.skipif(return_F() == True, reason="xxx")

可以将 pytest.mark.skip 和 pytest.mark.skipif 赋值给一个标记变量在不同模块之间共享这个标记变量 若有多个模块的测试用例需要用到相同的 skip 或 skipif ,可以用一个单独的文件去管理这些通用标记,然后适用于整个测试用例集

 1 skipmark = pytest.mark.skip(reason="不能在window上运行=====")
 2 skipifmark = pytest.mark.skipif(sys.platform == 'win32', reason="不能在window上运行啦啦啦=====")
 3 
 4 @skipmark 
 5 class TestSkip_Mark(object): 
 6     @skipifmark 
 7     def test_function(self): 
 8         print("测试标记") 
 9     def test_def(self): 
10         print("测试标记") 
11 
12 @skipmark 
13 def test_skip(): 
14     print("测试标记")
15 #执行结果
16 
17 collecting ... collected 3 items
18 07skip_sipif.py::TestSkip_Mark::test_function SKIPPED [ 33%]
19 Skipped: 不能在window上运行啦啦啦===== 07skip_sipif.py::TestSkip_Mark::test_def SKIPPED [ 66%] 
20 Skipped: 不能在window上运行===== 07skip_sipif.py::test_skip SKIPPED [100%] 
21 Skipped: 不能在window上运行=====
22  ============================= 3 skipped in 0.04s ==============================

 

上一篇:数栈数据安全案例:混合云环境数据库备份容灾实现


下一篇:IDC行业的前景怎么样?