python的DDT模块
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模块相关推荐
- python ddt模块
python数据驱动模块ddt 一.安装 pip install ddt 二.使用,参考文章 https://www.cnblogs.com/miniren/p/7099187.html 1.传入一个 ...
- python使用ddt_python中,ddt模块的使用
ddt(数据驱动)应用场景: 我们做接口自动化的时候,同一个业务场景下,会有多组数据的录入的情况,这个时候如果每录入一组数据就要写一个测试类的话,太过繁琐,也不符合测试思想.这个时候数据驱动思想(dd ...
- python 基于ddt实现数据驱动测试
这篇文章主要介绍了python 基于DDT实现数据驱动测试的方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下 简单介绍 ddt(date driver test),所谓数据驱 ...
- python:Json模块dumps、loads、dump、load介绍
20210831 https://www.cnblogs.com/bigtreei/p/10466518.html json dump dumps 区别 python:Json模块dumps.load ...
- 能带曲线图绘制python_如何使用python的matplotlib模块画折线图
python是个很有趣的语言,可以在cmd命令窗口运行,还有很多的功能强大的模块.这篇经验告诉你,如何利用python的matplotlib模块画图. 工具/原料 windows系统电脑一台 pyth ...
- python之路——模块和包
一.模块 1.什么是模块? 常见的场景:一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1.使用Python编 ...
- Python multiprocess 多进程模块
转发:http://www.langzi.fun/Python multiprocess 多进程模块.html 需要注意的是,如果使用多线程,用法一定要加上if __name__=='__main__ ...
- Python 安装 xlsx模块
为什么80%的码农都做不了架构师?>>> Python 安装 xlsx模块 很多时候自动化测试时测试用例是写在excel中的如何读取转换成字典是一个比较关键的问题,使用pip命 ...
- python时间处理模块 datetime time模块 deltetime模块
1 首先介绍time模块,因为简单 python 自带模块 本人使用time模块,只使用两个函数 time函数和sleep函数 import time a. time.time() 函数 ...
最新文章
- 博客堂也遇DotText经典Exception
- kangle代理服务器限制客户端使用时间
- 上海电信计划2015年用户带宽提高12.5倍
- hdfs数据均衡操作命令
- JAVA字节码指令iload_n为什么只有0到3?
- mysql数据库且字 语句是什么,MySQL(数据库)基本操作
- C++ 继承中的同名成员的情况01
- 现代操作系统原理与实践04:实验1:机器启动
- ROS2——Windows上的安装笔记(legacy)
- 中小企业上云如何选择及操作
- 转:关于Apache与Nginx的优势比较(经典)
- Android内存优化大总结
- 未来测试软件推荐,未来函数检测工具优化版(支持所有股软未来检测)
- GIS算法:7_python拓扑套件shapely
- ACA-PEG-MAL,丙烯酰胺PEG马来酰亚胺
- 机房服务器显示器切换,两台电脑主机,一台显示屏,怎么实现切换!需要什么转换器,大概多少...
- Proguard的介绍
- 算法导论读书笔记(19)
- 五大列级庄_五大名庄背后的1855分级
- matlab 儒略历 函数,儒略日(儒略日 在线计算器)
热门文章
- 兼收并蓄,不要试图去研究它.---JAVA之我注六经之三
- 135: Check failed: !auc_error AUC: the dataset only contains pos or neg samples
- AI教育在中国兴起:如何重塑学习之路?
- 威联通ts-532x 篇五 qnap5.0 搭建服务器
- SQL:多表级联查询数量时避免笛卡尔积
- qqwry 解析(python3) 并且dump 到 mysql
- 【模型】Model predictive control (MPC)控制策略简介
- Mac电脑隔空投递如何添加到菜单栏?
- 51单片机基础入门(2)点灯大师:单个LED点亮、多个LED点亮、流水灯(附程序代码、解析)
- 暗夜精灵6-ubuntu18.04-显卡驱动