本文主要是介绍多测师肖sir___ddt讲解(辅助框架),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ddt数据驱动
1、ddt定义:全称data-driver tests ,数据驱动测试,可以实现不同数据运行同一个测试用例。
ddt本质是一个装饰器,一组数据一个场景
主要核心:把业务逻辑装成关键字,在调用关键字
2、为什么要使用ddt?
提高代码的复用率
例如:接口测试每个接口的传参不止一种情况,一般考虑正向场景,逆向场景等多种组合。
所以在测试接口时候通常会编写多条case,而这些case除了参数不同外,并没有其他区别。
3、ddt 的四种模式:
(1)@ddt 引入装饰器
(2)@data 导入数据
(3) @unpack 拆分数据
(4)@file_data 导入数据
4、安装ddt
pip install ddt
5、ddt实操:
案例1:读取元组的数据
import unittest
from ddt import ddt,unpack,data,file_data #导入ddt四个模式
@ddt #引入ddt装饰
class cms(unittest.TestCase): #定义一个类,继承unittest.testcase@data(1,2,5,3,4,) #数据 (5条运行几次)def test1(self,a): #a用来接收data数据print(a)
if __name__ == '__main__':unittest.main()
案例2:读取列表中的数据
import unittest
from ddt import ddt,unpack,data,file_data #导入ddt四个模式
@ddt #引入ddt装饰
class cms(unittest.TestCase): #定义一个类,继承unittest.testcase# @data(1,2,5,3,4,) #数据 (5条运行几次)@data([1,2,3])def test1(self,a): #a用来接收data数据print(a)
if __name__ == '__main__':unittest.main()
案例3:读取列表中的字典
import unittest
from ddt import ddt,unpack,data,file_data #导入ddt四个模式
@ddt #引入ddt装饰
class cms(unittest.TestCase): #定义一个类,继承unittest.testcase# @data(1,2,5,3,4,) #数据 (5条运行几次)@data({'name':'zs','age':18})def test1(self,a): #a用来接收data数据print(a)
if __name__ == '__main__':unittest.main()
案例4:unpark
import unittest
from ddt import ddt,unpack,data,file_data #导入ddt四个模式
@ddt #引入ddt装饰
class cms(unittest.TestCase): #定义一个类,继承unittest.testcase# @data(1,2,5,3,4,) #数据 (5条运行几次)@data({'name':'zs','age':18},{'name':'zs1','age':20})@unpackdef test1(self,name,age): #a用来接收data数据print(name,age)
if __name__ == '__main__':unittest.main()
案例5:
import os
import unittest
from ddt import ddt,unpack,data,file_data #导入ddt四个模式
@ddt #引入ddt装饰
class cms(unittest.TestCase): #定义一个类,继承unittest.testcase# @data(1,2,5,3,4,) #数据 (5条运行几次)# @data({'name':'zs','age':18},{'name':'zs1','age':20})# # @unpack# def add(self,a,b):# print(a+b)@file_data(r'D:\untitled3\abc.json')def test1(self,a,b): #a用来接收data数据print(a,b)
if __name__ == '__main_':unittest.main()
这篇关于多测师肖sir___ddt讲解(辅助框架)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!