【学*笔记】python中的数据驱动(DDT)

发布于:2021-12-07 18:51:34

一.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就可以拆分输入的参数



参考文档:
https://www.2cto.com/kf/201805/745595.html

相关推荐

最新更新

猜你喜欢