【python+ddt】DDT模块的使用

ddt模块包含了一个类的装饰器ddt和两个方法的装饰器:

data:包含多个你想要传给测试用例的参数;

file_data:会从jsonyaml中加载数据;

unpanck:通常data中包含的每一个值都会作为一个单独的参数传给测试方法,如果这些值是用元组或者列表传进来的,可以用unpack方法将其自动分解成多个参数

@data(a,b)

  那么ab各运行一次用例

@data([a,d],[c,d])

  如果没有unpack,那么[a,b]当成一个参数传入用例运行

  如果有unpack,那么[a,b]被分解开,按照用例中的两个参数传递

如下代码:

 1 import unittest
 2 import ddt  #第三方库
 3 
 4 data=[[1,2],[3,4],[5,6]]
 5 
 6 @ddt.ddt
 7 
 8 class MyTestCase(unittest.TestCase):
 9 
10     只有一个参数时
11     @ddt.data(1,2,3)
12     def test_01(self,a):
13         print(a)
14 
15     @ddt.data(*data)#表示可变参数取值为data([1,2],[3,4],[5,6]),若传参是data,则后面的取值 data([[1,2],[3,4],[5,6]])
16     @ddt.unpack
17     def test_02(self,a,b):
18         print(a,'----',b)
19 
20     @ddt.data([1,2],[3,4])#和上面的相似,这里未使用变量
21     @ddt.unpack
22     def test_03(self,a,b):
23         print(a, '----', b)
原文地址:https://www.cnblogs.com/dhs94/p/9846571.html