转自:http://www.cnblogs.com/nuonuozhou/p/8645129.html

ddt 结合单元测试一起用

ddt(data.driven.test):数据驱动测试

由外部数据集合来驱动测试用例

核心的思想:数据和测试代码分离

应用场景:一组数据来执行相同的操作

当测试数据发生大量变化的情况下测试代码,(或者说测试用例)可以保持不变

excel存储测试数据,ddt读取测试数据到 单元测试框架(测试用例中)-输出到html报告

python.ddt框架

安装:pip install ddt

使用之前先导入ddt

import ddt

ddt结合单元测试来使用

1.在测试类定义定义之前使用:@ddt.ddt

2.在测试用例定义之前使用,@ddt.data(测试数据) 测试数据之间用逗号隔开

3.在2的基础上定义测试用例时,参数接收2中的测试数据

例:

@ddt.ddt

class Demo Test(unittest.TestCase):

@ddt.data(2,3,4)

def test_print(self,a)

print("简单调用@data查看输出的是什么?",a)

例子

import ddt

import unittest

@ddt.ddt

class test_PersonInfo(unittest.TestCase):

@classmethod

def setUp(self):

print("==========开始测试==========")

@classmethod

def tearDown(self):

print("==========结束测试==========")

@ddt.data(1,2,3,4)

def test_print(self,a):

print(a)

ddt-data 数据

一组数据之间用逗号隔开

data的参数可以为如下几种

1.一组数据中,每个数据为单个值

2.一组数据中,每个数据为一个列表或者一个字典

3.文件对象:jason,yaml

一组数据中的数据为列表或者字典:

@data([a,b],[c,d])

如何从以上数据中获取到字典中每一项值

@unpack

若变量A=[{a:b,a1:b1},{c:d,c1:d1}]

如何将变量A中的每一组元素作为测试数据

@ddt.data(*A)

import ddt

import unittest

@ddt.ddt

class test_PersonInfo(unittest.TestCase):

@classmethod

def setUp(self):

print("==========开始测试==========")

@classmethod

def tearDown(self):

print("==========结束测试==========")

@ddt.data([1,2],[3,4])

def test_print(self,a):

print(a)

==========开始测试==========

[1, 2]

==========结束测试==========

==========开始测试==========

[3, 4]

==========结束测试==========

print(a[0])

==========开始测试==========

1

==========结束测试==========

==========开始测试==========

3

==========结束测试==========

@ddt.data([1,2],[3,4])

@ddt.unpack

def test_print(self,a,b):

print(a,b)

==========开始测试==========

1 2

==========结束测试==========

==========开始测试==========

3 4

==========结束测试==========

@ddt.data([{"a":2,"b":3},{"c":4,"d":8},{"e":5,"f":7}])

def test_print(self,a):

print(a)

==========开始测试==========

[{'a': 2, 'b': 3}, {'c': 4, 'd': 8}, {'e': 5, 'f': 7}]

==========结束测试==========

@ddt.data(*datas)

def test_print(self,datas):

print(datas)

==========开始测试==========

{'class': 'python2', 'name': 'xiaoshitou', 'id': '0001', 'sex': 'male'}

==========结束测试==========

==========开始测试==========

{'class': 'python2', 'name': 'nuonuo', 'id': '0002', 'sex': 'female'}

==========结束测试==========

==========开始测试==========

{'class': 'python2', 'name': 'fly', 'id': '0003', 'sex': 'male'}

==========结束测试==========

==========开始测试==========

{'class': 'python2', 'name': 'haiyang', 'id': '0004', 'sex': 'male'}

==========结束测试==========

==========开始测试==========

{'class': 'python2', 'name': 'shuangshuang', 'id': '0005', 'sex': 'female'}

==========结束测试==========

dat-data数据

数据为文件对象:Json yaml

json格式里面必须为双引号“”,且必须为键值对,不存在纯列表格式,值作为测试数据

{"name":"nick","gender":"male","age":29}

@ddt.file_data(jason文件路径)

@ddt.file_data(os.getcwd()+"/test.json")

def test_json(self,data):

print(data)

==========开始测试==========

[1, 2, 3]

==========结束测试==========

==========开始测试==========

python2

==========结束测试==========

==========开始测试==========

male

==========结束测试==========

==========开始测试==========

xiaoshitou

==========结束测试==========

==========开始测试==========

0001

==========结束测试==========

python下读取excel文件

项目中要用到这个,所以记录一下. python下读取excel文件方法多种,用的是普通的xlrd插件,因为它各种版本的excel文件都可读. 首先在https://pypi.python.org/py ...

Delphi中使用python脚本读取Excel数据

Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

python+ddt+unittest+excel+request实现接口自动化

接口自动化测试流程:需求分析-用例设计--脚本开发--测试执行--结果分析1.获取接口文档,根据文档获取请求方式,传输协议,请求参数,响应参数,判断测试是否通过设计用例2.脚本开发:使用request ...

python xlrd 读取excel.md

文章链接:https://mp.weixin.qq.com/s/fojkVO-AB2cCu7FtDtPBjw 之前的文章介绍过关于写入excel表格的方法,近期自己在做一个网站,涉及到读取excel, ...

python(读取excel操作-xlrd模块)

一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 或者在cmd窗口  pip install  ...

Python实现读取Excel文档中的配置并下载软件包

问题:现在遇到这样一个问题,服务器存储了很多软件包,这些包输入不同的产品,每个产品都有自己的配置,互相交叉,那么到底某一产品所有配置的软件包下载后,占用多大空间呢? 分析:从这个问题入手,了解到:软件 ...

python(读取 excel 操作 xlrd 模块)

一.安装 xlrd 模块 到 python 官网下载 http://pypi.python.org/pypi/xlrd 模块安装,前提是已经安装了 python 环境. 或者在 cmd 窗口  pip ...

python脚本 读取excel格式文件 并进行处理的方法

一.安装xlrd模块 pip install xlrd 二.读取excel文件 try: excel_obj = xlrd.open_workbook("文件路径") except ...

python实现读取excel

实现代码如下: #读取excel,将每行数据放入一个列表,将所有列表放入一个列表形成二维列表,返回该二维列表 import xlrd class ReadExcel: def read_excel(s ...

随机推荐

javascript遍历数组最优写法

var arr = [];//这样定义的数组,是null,等待开辟空间 var arr = new Array();//不建议使用,会占用一块内存空间 var i=0,len=arr.length; ...

USB 设备类协议入门【转】

本文转载自:http://www.cnblogs.com/xidongs/archive/2011/09/26/2191616.html 一.应用场合 USB HID类是比较大的一个类,HID类设备属 ...

ZigBee组网原理

Zigbee组建一个完整的网络包含两个步骤:网络初始化和节点加入网络.其中,节点加入网络可以分为通过协调器直接连接入网和通过已有父节点入网.下面来依次说明. 1. 网络初始化 ZigBee网络初始化只 ...

(转载)使用JavaScript操作表单

(转载)http://www.blogjava.net/junglesong/archive/2008/03/02/183263.html 使用JavaScript操作表单 获取表单的引用 在开始对表 ...

linux文件查找find命令

linux文件查找find命令 1.文件查找 基本介绍 在文件系统上查找符合条件的文件 linux上常见的文件查找工具:find命令 查找分类 实时查找 精确查找 基本语法 find  [option ...

Python核心编程 | 浅谈闭包的使用

1.函数的引用   >>> def test(): print('test:') >>> test

完美的代码生成器SNF.CodeGenerator-快速开发者的利器--SNF快速开发平台3.1

第1章 SNF.CodeGenerator代码生成器简介 本项目是完全基于Spring.Net.Framework 平台进行研发.与Spring.Net.Framework平台无缝衔接.并支持模型层. ...

Java线程之Callable和Future

本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果.        Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结 ...

Java自动类型转换

■ 自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型. ■ 特例:可以讲整型常量直接赋给byte,short,char等类型变量,而不需要强制类型转换,只要不超出其表数范围. ■ 强制类型 ...

python读取dat文件写入表格_python DDT读取excel测试数据相关推荐

  1. python读取dat文件写入表格_Pandas:外部文件数据导入/ 读取 (如 :csv、txt、tsv、dat、excel文件)、文件存储(to_csv、to_excel)...

    一.文本文件读取 文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序文件. csv是一种逗号分隔的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件,文件以纯文本形式存储表格数据(数 ...

  2. python读取dat文件写入表格_在python中从.dat文件读取和执行计算

    我需要用python读取一个.dat文件,它总共有12列,数百万行.我需要把第2.3和4栏和第1栏分开计算.所以在加载.dat文件之前,是否需要删除所有其他不需要的列?如果没有,如何有选择地声明列并要 ...

  3. python读取stl文件三维坐标_python vtk 读取三维raw数据存为stl

    1.安装vtk: 2.读取三维raw.显示.保存为stl: import vtk # Read 3D RAW image reader=vtk.vtkImageReader() # reader.Se ...

  4. 什么是.dat? python读取.dat文件并转换为png图像——超简单实现

    相信大家和我一样,对于.dat文件是感到十分陌生的.因此在刚接触到这个小任务的时候我实在花了一些时间来了解到底什么是.dat文件.这里我将我自己的认识分享给大家: 总体而言,对于.dat文件的定义,我 ...

  5. python读取dat文件

    读取dat文件本想像这样 df_train=pd.read_table(r'C:\Users\admin\Desktop\game_test\game\apptype_train.dat', name ...

  6. matlab打开dat形式文件_matlab 读取dat文件

    matlab 读取dat文件 关注:145  答案:2  mip版 解决时间 2021-01-17 21:36 提问者壹玍徴戰何亽陪 2021-01-17 14:35 想用matlab 语句读取桌面上 ...

  7. R语言将文件写入CSV,并读取

    R语言将文件写入CSV,并读取 # 写入文件 write.csv(data,file = "mydata.csv",row.names = F) # 读文件 data_handle ...

  8. python向json文件写入中文信息

    ''' 功能:python向json文件写入中文信息: 创建json数据. ''' import jsonorder_info={'订单需求信息': {'订单任务编号':'','观测目标名称':'', ...

  9. Python将dat文件转化csv文件

    Python将dat文件转化csv文件 import pandas as pdf=r'./Cognition.dta' name=pd.read_stata(f) #print(name) name. ...

  10. python解析dat文件生成xlsx文件

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 python解析dat文件生成xlsx文件 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 ...

最新文章

  1. poj2774 sa模版
  2. JVM_java内存区域
  3. SG函数和SG定理(Sprague_Grundy)
  4. SpringMVC4零配置--web.xml
  5. Docker常见问题总结
  6. 计算机视觉CV:图像处理面试题
  7. CIO如何做好灾难恢复/数据外泄的业务连续性计划?
  8. Android学习笔记(一):Android基础
  9. 哥德巴赫猜想—初等数论课后习题
  10. Premiere Pro CC2018 软件安装包+安装教程
  11. oss 私有云访问 获取临时图片地址
  12. codewars 7×7 Skyscrapers 问题解决
  13. mysql查询耗时操作_mysql记录耗时的sql实例详解
  14. PID积分饱和 和 积分分离
  15. 可视化系列讲解:css3D:如何绘制正方体,长方体等
  16. C#Aspose操作Word Excel简版(后会研究补充更多功能)
  17. 聊聊C++任务定时器的设计与具体实现
  18. iOS项目开发实战——iOS网络编程获取网页Html源代码
  19. 【Serial Wire Viewer (SWV) 】
  20. 一款关联钉钉打卡作弊软件非法获利近 500 万元,CEO 被判刑 5 年 6 个月!

热门文章

  1. 启动SQL Server 时自动执行存储过程
  2. Android进阶(三) 数据存储之SharedPreference
  3. 常见分布的期望方差矩母函数
  4. BZOJ2716[Violet] 天使玩偶/SJY摆棋子
  5. 计算机游戏蜘蛛纸牌如何还原,经典PC纸牌游戏空当接龙、蜘蛛纸牌等登陆iOS/Android...
  6. python嵌套列表输出_Python列表的增删改查排嵌套特殊输出格式
  7. python内置数据类型列表_python数据类型内置方法 字符串和列表
  8. xp-80c打印机无法打印_6种方法解决打印机无法打印问题
  9. git branch看不到分支_这份Git 日常操作清单,你都用到了吗
  10. matlab lu分解求线性方程组_线性代数10——矩阵的LU分解