文章目录
-
-
一、什么是DDT?
-
二、安装ddt
-
三、基本原理和用法
-
前言
记录ddt用法的一些小细节
一、什么是DDT?
DDT是 “Data-Driven Tests”的缩写,数据驱动测试。
既然是测试,那么就要与单元测试框架一起使用
1、运用场景
测试框架里,同一个方法,里面不同的数据,就可以不用写多个测试方法
二、安装ddt
ddt属于第三方模块,需要安装,安装方法:
方法一:在cmd命令窗口中输入:pip install ddt
方法二:pycharm中打开终端,输入:pip install ddt
三、基本原理和用法
1、原理
类似于for循环,把循环出来的数据,一个一个的填到需要使用的地方。
(注意:循环出来的是一组数据,以组为单位,因此在一个列表中一组数据与另一组数据的个数是对应的。)
2、用法
(1)使用时,先在类名上,声明ddt,写法:@ddt;
(2)再在函数上,声明数据,写法:@(*数据列表名称) 例如:@(*list1);----注意这里有星号,把数据解包。
(注意:在函数的括号了传入一个任意名称的变量(类似于 for i in list:里面的i,这个i可以是任意的变量名称。)
3、思想
ddt这个思想,其实是装饰器思想的运用。
语法:
@ddt
class XX(unittest.TestCase):
@data(*测试数据列表)
def test_xx(self,new_data) # 这里的new_data相当于for循环里面的i,一个变量去接收
import unittest
from ddt import ddt, data
from see import eat
datas = [('肉', '喜欢吃肉'), ('苹果', '喜欢吃肉'), ('葡萄', '喜欢吃葡萄')]
@ddt
class Dog_eat(unittest.TestCase):
@data(*datas)
def test_eat(self, new_data):
act_reslut = eat(food=new_data[0])
exc_reslut = new_data[1]
self.assertEqual(act_reslut, exc_reslut)
举例:
总结