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

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

 

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

相关推荐