ddt是python的第三库,全名称为:Data-Driven/Decorated Tests。ddt模块提供了创建数据驱动的测试。使用步骤如下:
1.安装ddt模块
2.使用@ddt,@data,@unpack,@file_data加载数据

1.安装ddt模块

安装命令如下:

pip install ddt

2.DDT加载数据

代码如下:

import osfrom ddt import ddt, data, unpack, file_data
import unittestdef get_data():testdata = [{'name': 'tom', 'age': 20}, {'name': 'kite', 'age': 30}]return testdata@ddt
class MyTestCase(unittest.TestCase):# 读取元组数据-单组元素@data(1, 2, 3)def test1(self, value):print('读取元组数据-单组元素: ', value)# 读取元组数据-多组元素@data((1, 2, 3), (4, 5, 6))def test2(self, value):print("读取元组数据-多组元素: ", value)# 读取元组数据-拆分数据@data((1, 2, 3), (4, 5, 6))@unpack  # 拆分数据def test3(self, value1, value2, value3):print("读取元组数据-拆分数据: ", value1, value2, value3)# 列表@data([{'name': 'tom', 'age': 20}, {'name': 'kite', 'age': 30}])def test4(self, value):print("读取列表数据-元组数据: ", value)# 字典@data({'name': 'tom', 'age': '20'}, {'name': 'kite', 'age': '30'})def test5(self, value):print("读取字典数据: ", value)# 字典-拆分@data({'name': 'tom', 'age': '20'}, {'name': 'kite', 'age': '30'})@unpackdef test6(self, name, age):print("读取字典数据并拆分: ", name, age)# 变量或者方法调用testdata = [{'name': 'tom', 'age': 20}, {'name': 'kite', 'age': 30}]# @data(*testdata)@data(get_data())def test7(self, value):print("读取函数: ", value)# 读文件@file_data(os.getcwd() + '/test.json')def test8(self, value2):print("读取文件: ", value2)if __name__ == '__main__':unittest.main()

test.json数据文件如下所示:

输出如下:

读取元组数据-单组元素:  1
读取元组数据-单组元素:  2
读取元组数据-单组元素:  3
读取元组数据-多组元素:  (1, 2, 3)
读取元组数据-多组元素:  (4, 5, 6)
读取元组数据-拆分数据:  1 2 3
读取元组数据-拆分数据:  4 5 6
读取列表数据-元组数据:  [{'name': 'tom', 'age': 20}, {'name': 'kite', 'age': 30}]
读取字典数据:  {'name': 'tom', 'age': '20'}
读取字典数据:  {'name': 'kite', 'age': '30'}
读取字典数据并拆分:  tom 20
读取字典数据并拆分:  kite 30
读取函数:  [{'name': 'tom', 'age': 20}, {'name': 'kite', 'age': 30}]读取文件:  ['tom', 'kite', 'rose']

python的DDT模块相关推荐

  1. python ddt模块

    python数据驱动模块ddt 一.安装 pip install ddt 二.使用,参考文章 https://www.cnblogs.com/miniren/p/7099187.html 1.传入一个 ...

  2. python使用ddt_python中,ddt模块的使用

    ddt(数据驱动)应用场景: 我们做接口自动化的时候,同一个业务场景下,会有多组数据的录入的情况,这个时候如果每录入一组数据就要写一个测试类的话,太过繁琐,也不符合测试思想.这个时候数据驱动思想(dd ...

  3. python 基于ddt实现数据驱动测试

    这篇文章主要介绍了python 基于DDT实现数据驱动测试的方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下 简单介绍 ​ ddt(date driver test),所谓数据驱 ...

  4. python:Json模块dumps、loads、dump、load介绍

    20210831 https://www.cnblogs.com/bigtreei/p/10466518.html json dump dumps 区别 python:Json模块dumps.load ...

  5. 能带曲线图绘制python_如何使用python的matplotlib模块画折线图

    python是个很有趣的语言,可以在cmd命令窗口运行,还有很多的功能强大的模块.这篇经验告诉你,如何利用python的matplotlib模块画图. 工具/原料 windows系统电脑一台 pyth ...

  6. python之路——模块和包

    一.模块 1.什么是模块? 常见的场景:一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1.使用Python编 ...

  7. Python multiprocess 多进程模块

    转发:http://www.langzi.fun/Python multiprocess 多进程模块.html 需要注意的是,如果使用多线程,用法一定要加上if __name__=='__main__ ...

  8. Python 安装 xlsx模块

    为什么80%的码农都做不了架构师?>>>    Python 安装 xlsx模块 很多时候自动化测试时测试用例是写在excel中的如何读取转换成字典是一个比较关键的问题,使用pip命 ...

  9. python时间处理模块 datetime time模块 deltetime模块

    1 首先介绍time模块,因为简单 python 自带模块 本人使用time模块,只使用两个函数 time函数和sleep函数 import time a.     time.time()   函数 ...

最新文章

  1. 博客堂也遇DotText经典Exception
  2. kangle代理服务器限制客户端使用时间
  3. 上海电信计划2015年用户带宽提高12.5倍
  4. hdfs数据均衡操作命令
  5. JAVA字节码指令iload_n为什么只有0到3?
  6. mysql数据库且字 语句是什么,MySQL(数据库)基本操作
  7. C++ 继承中的同名成员的情况01
  8. 现代操作系统原理与实践04:实验1:机器启动
  9. ROS2——Windows上的安装笔记(legacy)
  10. 中小企业上云如何选择及操作
  11. 转:关于Apache与Nginx的优势比较(经典)
  12. Android内存优化大总结
  13. 未来测试软件推荐,未来函数检测工具优化版(支持所有股软未来检测)
  14. GIS算法:7_python拓扑套件shapely
  15. ACA-PEG-MAL,丙烯酰胺PEG马来酰亚胺
  16. 机房服务器显示器切换,两台电脑主机,一台显示屏,怎么实现切换!需要什么转换器,大概多少...
  17. Proguard的介绍
  18. 算法导论读书笔记(19)
  19. 五大列级庄_五大名庄背后的1855分级
  20. matlab 儒略历 函数,儒略日(儒略日 在线计算器)

热门文章

  1. 兼收并蓄,不要试图去研究它.---JAVA之我注六经之三
  2. 135: Check failed: !auc_error AUC: the dataset only contains pos or neg samples
  3. AI教育在中国兴起:如何重塑学习之路?
  4. 威联通ts-532x 篇五 qnap5.0 搭建服务器
  5. SQL:多表级联查询数量时避免笛卡尔积
  6. qqwry 解析(python3) 并且dump 到 mysql
  7. 【模型】Model predictive control (MPC)控制策略简介
  8. Mac电脑隔空投递如何添加到菜单栏?
  9. 51单片机基础入门(2)点灯大师:单个LED点亮、多个LED点亮、流水灯(附程序代码、解析)
  10. 暗夜精灵6-ubuntu18.04-显卡驱动