pytest跳过用例执行的用法与unittest跳过用例大致相同。
pytest跳过用例的方法如下:
- pytest.mark.skip(reason):无条件用例。reason是跳过原因,下同。
- pytest.mark.skipIf(condition, reason):condition为True时跳过用例。
pytest.mark.skip(reason)
被装饰器@pytest.mark.skip装饰的用例会直接跳过执行,有可选参数reason:跳过的原因,会在执行结果中打印。
pytest.mark.skipIf(condition, reason)
我们有时候希望有条件的跳过某些用例,可以使用 @pytest.mark.skipIf(condition, reason)装饰器,当condition为True就会跳过被装饰的用例。
跳过的使用范围
上面演示例子都是将装饰器添加在类方法上,其实还可以添加在类对象和函数上,当添加在类对象时,类对象下所有用例全部跳过。
跳过标记
若有多个测试用例需要用到相同的跳过规则,如果每次都写跳过条件就显得有点冗余,我们可以将跳过规则赋值给一个变量,然后通过一个单独的文件去管理这些通用标记,就可以将相同的规则标记适用于整个测试用例集。