DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据),file_data(可以从json或者yaml中获取测试数据)
@ddt.ddt添加在类的前面,@ddt.data添加在函数的前面
1.@ddt.data(*)的使用
import ddt
import unittest
testdata1 = [{‘username‘:‘zhangsan‘,‘age‘:‘20‘},
{‘username‘:‘lisi‘,‘age‘:‘21‘},
{‘username‘:‘wangwu‘,‘age‘:‘13‘}
]
testdata2 = [{‘username‘:‘zzzz‘,‘age‘:‘25‘},
{‘username‘:‘llll‘,‘age‘:‘24‘},
{‘username‘:‘wwww‘,‘age‘:‘12‘}
]
@ddt.ddt
class Testcase(unittest.TestCase):
def setUp(self):
print(‘start‘)
def tearDown(self):
print(‘end‘)
@ddt.data(*testdata1)
def test01(self,data):
print(data)
@ddt.data(*testdata2)
def test02(self,data):
print(data)
if __name__ == ‘__main__‘:
unittest.main()
运行结果:
2.file_data的使用
@ddt.ddt
class Testcase(unittest.TestCase):
def setUp(self):
print(‘start!‘)
def tearDown(self):
print(‘end!‘)
@ddt.file_data(‘test.yaml‘)
def testcase01(self,value):
print(value)
if __name__ == ‘__main__‘:
unittest.main()
原文:https://www.cnblogs.com/mujin451580123/p/13712631.html