一、作用
将测试数据参数化,单独管理测试数据,实现数据和代码分离
二、格式
@pytest.mark.parametrize('exp_data,data',[[a,b],[c,d],[e,f]...]),作用是声明下面的方法要做参数化,下面的函数在参数列表需要将上面的exp_data和data放进去,后面数据外面里面有元组列表都行
@pytest.mark.parametrize('exp_data,data',[[1,2],[1,1],[2,3]])
def test_pa(exp_data,data):
assert exp_data == data
# 没有写循环,实际上是在循环运行的,是框架实现的,测试方法只有一个,但一共会运行三次,是三条用例
三、参数化在项目里应用
上述后面的列表数据可以写在yaml文件里,通过一个通用读取yaml方法工具读取yaml文件并返回特定结构用例数据,在参数化处数据写上函数名即可
yaml语法见:yaml语法学习笔记
# get_yaml_data.py
def get_yaml_case(file