微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 ==============================

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐