""" ------------------------------------ @Time : 2019/7/25 19:18 @Auth : linux超 @File : test_parametrize.py @IDE : PyCharm @Motto: Real warriors,dare to face the bleak warning,dare to face the incisive error! @QQ : 28174043@qq.com @GROUP: 878565760 ------------------------------------ """ import pytest
data_1 = [ pytest.param(1, 2, 3, id="(a+b):pass"), # id的值可以自定义, 只要方便理解每个用例是干什么的即可 pytest.param(4, 5, 10, id="(a+b):fail") ]
def add(a, b): return a + b
class TestParametrize(object):
@pytest.mark.parametrize('a, b, expect', data_1) def test_parametrize_1(self, a, b, expect): assert add(a, b) == expect
if __name__ == '__main__': pytest.main(['-v']) 输出 test_parametrize.py::TestParametrize::test_parametrize_1[(a+b):pass] PASSED [ 50%] test_parametrize.py::TestParametrize::test_parametrize_1[(a+b):fail] FAILED [100%]
================================== FAILURES =================================== _______________ TestParametrize.test_parametrize_1[(a+b):fail] ________________
self = <pytest_parametrize.test_parametrize.TestParametrize object at 0x000001D7BFC4C748> a = 4, b = 5, expect = 10
@pytest.mark.parametrize('a, b, expect', data_1) def test_parametrize_1(self, a, b, expect): > assert add(a, b) == expect E assert 9 == 10 E -9 E +10
test_parametrize.py:28: AssertionError ===================== 1 failed, 1 passed in 0.35 seconds ======================
Process finished with exit code 0 |