在pytest中,也可以使用参数化测试,每组参数可以独立执行一次测试。
pytest 可以通过 @pytest.mark.parametrize(argnames, argvalues) 来实现
例1: 一个参数,数据是一个列表
从测试结果中,可以看出test_name 方法会被执行3次,会依次从列表中取值,一个取值执行一次
例2:多个参数的话,以逗号分割,在一个字符串参数内
从结果中,可以看出,执行了三次
例3:如果想要做组合条件筛选的话,也可以用参数化,会多个参数做乘积执行
从运行结果中,测试用例被执行了6次,运行次数是参数的乘积,组合条件查询时,就可以使用这种方法
例4:我们也可以传字典作为参数
在通过key,获取对应的数据
实际中,我们可能会把数据存在文件中,我们也可以将数据读出来,再使用参数化方法;例如
再csv文件中存储了用户名,密码
从文件中读出用户名,密码,把函数作为数据传进来
看一下执行结果,方法被执行了3次,