目录
1. 为什么要使用参数化
有些用例会考虑正向、逆向等多种组合,在同一个方法上测试不同的参数,这时候就需要考虑使用什么方法来进行管理大量测试数据,循环执行用例,提高代码的复用率。UnitTest提供了两种参数化方法,分别是ddt方法和paramunittest方法,两种方法都类似,可以传入多组参数,自动生成多个用例,下面就来介绍两个方法分别怎么使用。
2. ddt方法
2.1 ddt介绍
ddt即data driver test,数据驱动测试,简单来说就是测试数据的参数化。
2.2 ddt安装
使用pip下载安装ddt:
pip install ddt
或者使用豆瓣源安装pip install -i Simple Index ddt
2.3 ddt实战
- 首先声明一个@ddt,让程序知道我们要使用ddt了
- 使用@data来设定待测参数
- 使用@unpack来拆分数据,根据“,”来进行拆分
- 导入外部数据:@file_data
@unpack使用:拆分数据,可以拆分列表,元组,字典
列表测试:
元组测试:
字典测试:
通过读取文件填入参数:
1.新建一个txt文件:
2.读取文件中的内容,填入参数
@file_data:文件参数化,导入外部文件
1、新建一个文件,如:ddt_data_file.json,也可以是yaml文件,使用yaml文件需要安装yaml: pip install pyyaml
2、传入文件地址
json文件内容
yaml文件内容
3. paramunittest
可以传入多组参数,自动生成多个用例,与ddt是一样的效果
环境准备:
1、使用pip下载安装paramunittest
pip install paramunittest或者使用豆瓣源,快一点
pip install -i Simple Index paramunittest
2、参数可以传元组也可以传字典
3、注意接受参数时,必须要定义setParameters这个方法,并且只能是这个名称。括号后面的参数分别接受传入的参数名称。前面定义的是字典,那参数就跟前面字典的key保持一致
4、执行顺序是先执行0,1,再执行10,11,12依次来的,设计就是如此,与前面的ddt是同样的
5、也可以传元组类型