第1个回答 2022-06-24
ddt框架是基于testcase,所以需要用在testcase类下才能生效。
ddt可以理解是一个数据驱动的方法,通过@ddt引用(装饰器原理),然后通过@data引入单变量,@data和@unpack引入多变量,变量格式是以元祖或者列表形式。
以下都以 元组 的形式,举例子。(也可以用列表自己可以尝试)
1) 引入单组变量(每组变量只有一个值)
其中变量可以多个例如:date1=(1,2,3,4,5,...............),有多少组就是执行多少次。
2) 引入多变量(每组变量有多个值(x1,x2,.......),有多少组就是执行多少次)
其中变量可以多个例如:date2= ((1,2,3,4),(3,4,5,6),(7,4,5,6),...........),有多少组就是执行多少次,其中每组内有多少个只,就要赋值多少个变量: def test2(self,value1,value2,value3,,value4,...........):
3) 映入单,多变量混合。
一般直接把变量用在变量提前写好,最好的方法放在文件中,比如:excel中
就以excel文件的数据写例子:
1) 文件目录:存放,取excel数据文件,unittest ddt驱动测试文件,.xlsx文件。
2) 如有这样的测试数据在excel里:
3) 写一个获取excel数据的类方法:
4) 在写unittest ddt驱动测试文件:
如上,excel文件取值,ddt引用进unittest.testcase里。完成