一、DDT数据驱动
DDT:Data Driver Tests
数据驱动:将不同的数据在同一个业务逻辑上运行。
二、使用
1、安装:pip install ddt
2、语法
2.1、在测试类上使用@ddt
2.2、在测试函数上使用@data(*case_data)进行数据解压,然后每一个元素传入测试函数
3、@data():加压一层
@unpack:解压两层
三、代码示例
import unittest
from ddt import ddt, data, unpack
case_data = [{"url": "www.baidu.com", "data": "test1"},
{"url": "www.baidu.com", "data": "test2"},
{"url": "www.baidu.com", "data": "test3"}]
@ddt
class TestDemo(unittest.TestCase):
@data(*case_data)
def test_case(self, case):
print(case)
运行结果:
Ran 3 tests in 0.005s
OK
{‘url’: ‘www.baidu.com’, ‘data’: ‘test1’}
{‘url’: ‘www.baidu.com’, ‘data’: ‘test2’}
{‘url’: ‘www.baidu.com’, ‘data’: ‘test3’}
unpack的使用:
import unittest
from ddt import ddt, data, unpack
case_data = [(1, 2, 3, 4, 5), ('a', 'b', 'c', 'd', 'e')]
@ddt
class TestDemo(unittest.TestCase):
@unpack
@data(*case_data)
def test_case(self, data1, data2, data3, data4, data5):
print(data1, data2, data3, data4, data5)
运行结果:
1 2 3 4 5
a b c d e