pytest标记跳过某些测试用例不执行


无条件跳过(@pytets.mark.skip)

举例:

# file_name: test_skip.py


import pytest


class Test_B:

    def test_a(self):
        print('\n------------------> test_a has ran')
        assert 1

    @pytest.mark.skip(reason="由于某种原因这个测试用例暂时不执行")
    def test_b(self):
        print('------------------> test_b has ran')
        assert 0


if __name__ == '__main__':
    pytest.main(['-s', 'test_skip.py'])

使用装饰器@pytest.mark.skip来标记测试用例test_b,在执行过程中跳过test_b不执行。参数reason为可选参数,表示跳过的原因是什么。

有条件跳过(@pytest.mark.skipif)

根据特定的条件,不执行标识的测试函数.

 方法:
     skipif(condition, reason=None)

 参数:
     condition:跳过的条件,必传参数
     reason:标注原因,必传参数

 使用方法:
     @pytest.mark.skipif(condition, reason="xxx") 

举例:

# file_name: test_skip.py


import pytest


class Test_B:

    def test_a(self):
        print('\n------------------> test_a has ran')
        assert 1

    @pytest.mark.skipif(condition=2 > 1, reason='不想执行了')
    def test_c(self):
        print("-------------------> test_c has ran")
        assert 0


if __name__ == '__main__':
    pytest.main(['-s', 'test_skip.py'])

上面的例子中,但参数condition为True时就会跳过test_c,如果condition为False则仍然会执行test_c

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM