文章目录
- 1.前言
- 2.使用 @pytest.mark.skip 标记无条件跳过
- 3.使用 @pytest.mark.skipif 标记根据条件跳过
- 4. 执行pytest.skip()方法跳过测试用例
1.前言
在实际场景中,我们可能某条测试用例没写完,代码执行时会报错,或者是在一些条件下不让某些测试用例去执行,这个时候我们就需要跳过一些测试用例的执行。
pytest中测试用例跳过有三种方式:
- @pytest.mark.skip
- @pytest.mark.skipif
- 执行pytest.skip()在测试函数内部动态跳过
2.使用 @pytest.mark.skip 标记无条件跳过
当你明确知道某个测试用例由于某些原因(如功能未实现、依赖环境不满足等)不能执行时,可以使用此标记。
示例:
import pytestdef test_01():assert 1==1@pytest.mark.skip(reason='测试用例无条件跳过')
def test_02():assert 2==2if __name__ == '__main__':pytest.main()
运行结果:
3.使用 @pytest.mark.skipif 标记根据条件跳过
根据指定的条件来决定是否跳过测试用例,当条件为 True 时,测试用例会被跳过。
示例:
import pytestdef test_01():assert 1==1@pytest.mark.skip(reason='测试用例无条件跳过')
def test_02():assert 2==2@pytest.mark.skipif(1==1,reason='条件为True时跳过')
def test_03():assert 3==3if __name__ == '__main__':pytest.main()
4. 执行pytest.skip()方法跳过测试用例
在测试函数执行过程中,根据某些运行时的条件来决定是否跳过测试。
示例:
import pytestdef test_01():assert 1==1@pytest.mark.skip(reason='测试用例无条件跳过')
def test_02():assert 2==2@pytest.mark.skipif(1==1,reason='条件为True时跳过')
def test_03():assert 3==3def test_04():pytest.skip('执行测试用例时跳过')assert 4==4if __name__ == '__main__':pytest.main()
运行结果: