一、ddt 用途
一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向、逆向等多种组合,所以在测试一个接口时,通常会编写多条 case,而这些除了传参不同外,并没有什么区别。这个时候就可以利用 ddt 来管理测试数据,提高代码复用率。
ddt => data driver test 数据驱动测试
二、安装 ddt
pip install ddt
三、ddt 模块组成
ddt.ddt:装饰类,也就是继承 TestCase 的类。
ddt.data:装饰测试方法,参数是一系列的值
ddt.unpack:用来拆解 data 的数据。通常 data 中包含的每一个值都会作为一个单独的参数传给测试方法,如果这些值是用元组或者列表传进来的,可以用 unpack 方法将其自动分解成多个参数
ddt.file_data:装饰测试方法,参数是文件名。文件可以是 json 或者 yaml 类型。
注意:如果文件是以 “.yml”或者".yaml" 结尾,ddt 会作为 yaml 类型处理,其他文件都会作为 json 文件处理。
如果文件是列表,列表的值会作为测试用例参数,同时,会作为测试用例方法名后缀显示。
如果文件是字典,字典的 key 会作为测试用例方法的后缀显示,字典的 value 会作为测试用例参数。