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

pytest 框架的高级使用方法

跳过测试方法

语法@pytest.mark.skipif(条件, reason="原因")


"""演示 pytest 跳过方法的使用"""
import pytest

version = 25

class TestDemo:

    def test_demo1(self):
        print("this is demo1")

    def test_demo2(self):
        print("this is a demo2")

    @pytest.mark.skipif(version >= 25, reason="xxxxxxxxx")
    def test_demo2(self):
        print("this is a demo2")


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

执行后结果如下:

============================= test session starts =============================
collecting ... collected 2 items

06_pyest_skip.py::TestDemo::test_demo1 this is demo1
PASSED
06_pyest_skip.py::TestDemo::test_demo2 SKIPPED (xxxxxxxxx)
Skipped: xxxxxxxxx


======================== 1 passed, 1 skipped in 0.01s =========================

参数化:单个参数

语法:@pytest.mark.parameterize(参数变量,['数值1', '数值2',...])
demo:

"""
pytest 参数化演示:单个值
"""
import pytest


class TestDemo(object):

    @pytest.mark.parametrize('name', ['张飞', '关羽', '刘备'])
    def test_demo01(self, name):
        print("my name is %s " % name)


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

结果:

============================= test session starts =============================
collecting ... collected 3 items

07_pytest_parameterized.py::TestDemo::test_demo01[\u5f20\u98de] my name is 张飞 
PASSED
07_pytest_parameterized.py::TestDemo::test_demo01[\u5173\u7fbd] my name is 关羽 
PASSED
07_pytest_parameterized.py::TestDemo::test_demo01[\u5218\u5907] my name is 刘备 
PASSED

============================== 3 passed in 0.01s ==============================

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

相关推荐