一、前言
Pytest中装饰器@pytest.mark.parametrize(‘参数名’,list)可以实现测试用例参数化,类似DDT
二、如何使用
第一个参数是字符串,多个参数中间用逗号隔开
第二个参数是list,多组数据用元祖类型;传三个或更多参数也是这样传。list的每个元素都是一个元组,元组里的每个元素和按参数顺序一一对应
传一个参数 @pytest.mark.parametrize(‘参数名’,list) 进行参数化
传两个参数@pytest.mark.parametrize(‘参数名1,参数名2’,[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参数化
1、一个参数一个值
示例代码如下:
@pytest.mark.parametrize(“input”, [“输入值”])
def test_case1(input):
print(“\n” + input)
assert input == “输入值”
运行结果如下:
2、一个参数多个值
示例代码如下:
@pytest.mark.parametrize(“input”, [“输入值1”, “输入值2”, “输入值3”, “输入值4”, “输入值5”])
def test_case2(input):
print(“\n” + input)
assert ‘输入值’ in input
运行结果如下: