DDT
当测试框架是unittest时,可以使用ddt。ddt 这个类装饰器必须装饰在 TestCase 的子类上,TestCase 是 unittest 框架中的一个基类,它实现了 Test Runner 驱动测试运行所需的接口(interface)。
DDT 的使用步骤如下:
-
使用 @ddt 装饰你的测试类;
-
使用 @data 或者 @file_data 装饰你需要数据驱动的测试方法;
-
如一组测试数据有多个参数,则需 unpack,使用 @unpack 装饰你的测试方法。
安装:pip install ddt
ddt.data() 可接受的数据格式:
一组数据,每个数据为单个的值;多组数据,每组数据为一个列表或者一个字典
ddt 直接提供数据
单个参数
@ddt
class TestDdt(unittest.TestCase):
@data("Tom","Jack")
def test_a(self,a):
print("这次的测试数据是"+a)
if __name__ == '__main__':
unittest.main()
多个参数
-
# data表示data是直接提供的。
-
# unpack表示,对于每一组数据,如果它的值是list或者tuple,那么就分拆成独立的参数。
@ddt
class TestDdt(unittest.TestCase):
@data(["Tom1","Tom2"],["Jack1","Jack2"])
@unpack
def test_a(self,a,b):
print("这次的测试数据是"+a+b)
if __name__ == '__main__':
unittest.main()