python数据驱动创建账号_20190705-Python数据驱动之DDT
Python
Python开发
Python语言
20190705-Python数据驱动之DDT
DDT
ddt 是第三方模块,需安装, pip install ddt
DDT包含的装饰器
包含一个类装饰器@ddt和两个方法装饰器@data和@file_data
通常情况下,@data中的数据按照一个参数传递给测试用例,如果data中含有多个数据,以元组,列表,字典等数据,需要自行在脚本中对数据进行分解或者使用unpack分解数据。
@data([a,b],[c,d])
那么[a,b]和[c,d]各运行一次用例
@data([a,b],[c,d])
如果没有@unpack,那么[a,b]当成一个参数传入用例运行
如果有@unpack,那么[a,b]被分解开,按照用例中的两个参数传递,具体情况实例
importunittestfrom ddt importddt,data,unpack,file_data#data([a,b],[c,d])#如果没有@unpack,那么[a,b]当成一个参数传入用例运行
#如果有@unpack,那么[a,b]被分解开,按照用例中的两个参数传递
@ddt#类装饰器
classMyTesting(unittest.TestCase):defsetUp(self):print('this is the setUp')
@data([1,2,3])#方法装饰器
deftest_1(self,value):print('value=',value)
@data([3,2,1],[5,3,2],[10,4,2])
@unpackdeftest_2(self,a,b,c):print('a=%s,b=%s,expected=%s'%(a,b,c))
actual= int(a) -int(b)
expected=int(c)
self.assertEqual(actual, expected)
@data([2,3],[4,5])deftest_3(self,a,b):
self.assertEqual(a,b)
@data({'a':'first','b':'second'})
@unpackdeftest_4(self,a,b):print('test_4',a,b)
@file_data("test_data_list.json")#方法装饰器
deftest_5(self,value):print('test_5_file_data,value=',value)deftearDown(self):print('this is tearDown')if __name__ == '__main__':
unittest.main(verbosity=2)
执行分析
test_1
执行次数:1次
参数值:value=[1,2,3]
执行结果:pass
test_2
执行次数:3次
参数值:第一轮a=3,b=2,c=1;第二轮a=5,b=3,c=2;第三轮a=10,b=4,c=2
执行结果:第一轮、第二轮通过,第三轮失败FAIL
失败原因:self.assertEqual(a-b = c)失败
test_3
执行次数:2次
参数值:第一轮a=[2,3];第二轮a=[4,5]
执行结果:执行错误ERROR
失败原因:缺少参数b
i. 由于没有加@unpack, 虽然还是会被理解成2组测试数据,但是[2,3]作为一个整体被传给了a, 因为b就没有值传入了,所以一执行后报了 TypeError: test_compare() missing 1 required positional argument: 'b' 这句错
test_4
执行次数:1次
参数值:a = first,b=second
执行结果:pass
test_5
执行次数:test_data_list.json文件里面的数据数
参数值:每次value = test_data_list.json里面的一条数据
执行结果:pass
@data里面的数据格式
@data里面的数据可以是字典,列表,字典(注意字典的key值一定要跟参数名对应)
Json文件创建内容参考如下(tip,将文件的后缀名改为.json):
[
"邓肯||蒂姆",
"乔丹||迈克尔",
"库里||斯蒂芬",
"杜兰特||凯文",
"詹姆斯||勒布朗"
]
内容来源于网络,如有侵权请联系客服删除
python数据驱动创建账号_20190705-Python数据驱动之DDT相关推荐
- 第一个程序(python)-helloworld_创建第一个python程序:‘Hello World!’
安装好python解释器就可以创建第一个仪式程序Helloworld了 1.Python程序的3种运行方式 1.1.Python解释器直接运行 在Windows或者Linux命令行输入python,进 ...
- Python基础笔记_Day12_Python元类、type动态创建类、Python动态创建方法、Python运算符、Python发邮件、短信
Day12_Python元类.type动态创建类.Python动态创建方法.Python运算符重载.Python发邮件.短信 12.01_Python语言基础(类对象)(熟悉) 12.02_Pytho ...
- python语言中的多行注释符是_有没有一种方法可以在Python中创建多行注释? - python...
我最近开始研究Python,但是找不到如何实现多行注释.大多数语言都有块注释符号,例如 /* */ 我在Python中尝试过此方法,但它引发了错误,因此这可能不是正确的方法. Python实际上是否具 ...
- python数据驱动创建账号_Django创建超级管理员账号和修改密码
Django搭建网站,不知道账号密码,无法登陆到管理页面.如何创建超级管理员和修改用户密码? 1.创建一个超级管理员,使用如下命令: python manage.py createsuperuser ...
- python批量创建账号密码
在做性能测试的时候,,我们有时候需要多个用户账号进行压测,这个时候就需要生成大批量的账号,如果一个一个注册比较麻烦,这个时候我们可以借助python进行批量生成 比如格式: zs001 123456 ...
- python 对象创建_从Python中的基类对象创建对象
我有一个基类:class Animal(object): def __init__(self, name=None, food=None): self.name = name self.food = ...
- python创建矩阵_在Python中创建矩阵的Python程序
python创建矩阵 There is no specific data type in Python to create a matrix, we can use list of list to c ...
- python etree创建xml_利用 Python ElementTree 生成 xml的实例
Python 处理 xml 文档的方法有很多,除了经典的 sax 和 dom 之外,还有一个 ElementTree. 首先 import 之: from xml.etree import Eleme ...
- python字符串创建_在Python上创建完整的字符串
我需要在葡萄牙语字符串上执行词干.为此,我使用nltk.word_tokenize()函数对字符串进行标记,然后单独生成每个单词.之后,我重建了字符串.它工作正常,但表现不佳.我怎样才能让它更快?字符 ...
- python调用nacos账号密码,Python脚本,使用私钥(如果可用)或用户名密码
嘿,丹尼,试着跟着斯内普.注意:键值来自配置yml是RSA私钥文件的完整路径(如:/home/user/.ssh/id_RSA).在import paramiko import StringIO im ...
最新文章
- [C语言] 文件操作,解压华为官方固件UNDATE.APP工具(源代码);
- python 倒计时_Excel制作竞答倒计时器
- spring boot新建非web项目(无需依赖)
- 【CF1047D】Little C Loves 3 II【构造】【赛瓦维斯特定理】
- 【51Nod - 1106 】质数检测 (水题,数论)
- 编程题【Math类】计算类
- 删除logs mysql_关于删除MySQL Logs的一点记录
- C# 把list中的数据转成规定格式的json格式
- 40岁的程序员还能找到工作吗_学会了Vue就能找到前端工作吗
- 【排序】LeetCode 75. Sort Colors
- Mybatis之分表设计与分表插入
- 微信小程序-template使用:实现购物车商品数量加减功能
- 爬取网易云音乐评论2
- ROS——发布摄像头节点并编写opencv图像处理节点(python)
- 超级计算机在鄂尔多斯那个区,内蒙古超级计算机运算能力 进入中国最强行列...
- 宝存科技推出全球首款大量商用级别的高性能Open-Channel SSD
- 《黄昏清兵卫》中学到的工作态度
- 淘宝首页链接跳转,非taobao.com域名下的链接处理
- 图 2021-01-16
- python获取当前日期_python获取当前的日期和时间
热门文章
- Depth from Motion:探索突破纯视觉 3D 检测瓶颈
- “电脑族”保健 六项注意
- liferay-protal学习1-配置开发环境
- 转行学习软件测试有前途吗?
- lowB三人组代码示例
- lowB三人组---冒泡排序原理和实现
- 拜登签署芯片法案后,英特尔股票的前景如何?
- coq程序编写好用的IDE推荐
- Linux系统cp:omitting directory`XXX'问题解决
- 从文本生成场景图(1)——SPICE:Semantic Propositional Image Caption Evaluation