@pytest.mark.parametrize后边传参执行用例的时候,如果参数特别多,用例执行结果中有一组失败的话,就不好查找到底是哪一组失败了
但是如果给每组参数进行标记,这样的话,执行结果就能一眼看出来是哪一组参数执行失败了
具体参数标记方法如下:
利用pytest.param函数,将参数传递过去
在结果中,可以看出来,每条用例执行结果会加上我们标记的data1、data2 、data3
import sys import os import pytest sys.path.append(os.path.join(os.path.dirname(__file__))) def add(a, b): print(a, a+b) return a+b data = [ pytest.param(1, 2, 4, id='data1'), pytest.param(2, 3, 5, id='data2'), pytest.param(3, 5, 10, id='data3') ] @pytest.mark.parametrize('a, b, exp', data) def test_add(a, b, exp): assert add(a, b) == exp if __name__ == '__main__': pytest.main(["-s", "-v", "test_ddt.py"])