一.DDT简介
DDT简介
Data Driven Testing,数据驱动,简单来说就是测试数据的参数化
安装DDT
在python中DDT以装饰器的形式,结合Unittest来使用,用来装饰测试类
pip install ddt
要结合单元测试一起做
二.DDT基本使用介绍
导入模块
import unittest
from ddt import ddt, data, unpack
准备一个测试类
class TestCase(unittest.TestCase):
def test_001(self, a):
print("打印数据")
print(a)
1.读取单个数据
@ddt
class TestCase(unittest.TestCase):
@data((1,2,3))
def test_001(self, a):
print("打印数据")
print(a)
或者可以这样
test = (1,2,4)
@ddt
class TestCase(unittest.TestCase):
@data(test)
def test_001(self, a):
print("打印数据")
print(a)
data使用适用动态参数,把传进来的数组组成元组,再对元组进行用例的遍历,根据索引取值
相当于对每个参数进行遍历
例如
test_1 = (1,2,3)
test_2 = (0,0,0)
@ddt
class TestCase(unittest.TestCase):
@data(test_1,test_2)
def test_001(self, a):
print("打印数据")
print(a)
输出结果
打印数据
(1, 2, 3)
打印数据
(0, 0, 0)
2.增加unpack参数化测试用例
unpack会把数据data传递的元组进行拆分,这个时候就需要增加动态参数
@ddt#装饰测试类
class TestCase(unittest.TestCase):
@data((1,2,4),(-1,-2,-3))#装饰测试用例
@unpack
def test_001(self, *args):
print("打印数据")
print(*args)
结果内容
打印数据
1 2 4
打印数据
-1 -2 -3
参数化
@ddt#装饰测试类
class TestCase(unittest.TestCase):
@data((1,2,4),(-1,-2,-3))#装饰测试用例
@unpack
def test_001(self, a,b,c):
print("打印数据")
print(a)
print(b)
print(c)
结果
打印数据
1
2
4
打印数据
-1
-2
-3
可以看出,加上了unpack就可以拆分输入的参数