1、传入一个参数

 import unittest
from ddt import ddt,data,unpack @ddt
class MyTestCase1(unittest.TestCase):
@data(1,2,3)
def test_normal(self,value):
print(value)
self.assertEqual(value,2)
if __name__=='__main__':

2、传入元组、字典、列表等复杂结构数据,@data 标签结合 @unpack使用

import unittest
from ddt import ddt,data,unpack @ddt
class MyTestCase2(unittest.TestCase):
@data((1,2),(2,3))
@unpack
def test_tuple(self,value1,value2):
print(value1,value2)
self.assertEqual(value2,value1+1)
@data([1,2],[2,3])
@unpack
def test_list(self,value1,value2):
print(value1,value2)
self.assertEqual(value2,value1+1)
@data({'value1':1,'value2':2},{'value1':1,'value2':2})
@unpack
def test_dict(self,value1,value2):
print(value1,value2)
self.assertEqual(value2,value1+1) if __name__=='__main__':

3、以文件作为数据传递@file_data

传递json数据

import unittest
from ddt import ddt,data,unpack,file_data @ddt
class MyTestCase3(unittest.TestCase):
@file_data('E:\\a.json')
def test_file(self,value):
print(value) if __name__=='__main__':
unittest.main()

以上只是简单的使用了ddt模块进行数据驱动,实际项目应用过程中应该还需要更多知识的结合使用。

https://blog.csdn.net/u013118036/article/details/45558951

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

这篇文章将ddt模块与xldr excel一起使用,进行数据驱动

自己的写的的

class_011.py

import unittest
from ddt import ddt,data
from API_AUTO.http_requests import HttpRequest
from class_1103.read_me import GetData
from class_1103.gyp1101 import datedd
test_data=datedd('xg.xlsx','python1').get_data()
@ddt
class TestLogin(unittest.TestCase):
def setUp(self):
pass
#正常登录
@data(*test_data)
def test_api(self,item):
res = HttpRequest().http_requests(item['http_method'],item['url'],eval(item['data']),getattr(GetData,'Cookie'))
if res.cookies: #如果cookie有的话,那么就更新COOKIE
setattr(GetData,'Cookie',res.cookies)
try:
self.assertIn(str(item['expected']),res.json()['code'])
except AssertionError as e:
print('登录出错了%s' %e)
raise
return res
def tearDown(self):
pass
if __name__ == '__main__':
unittest.main()

class_022.py

import unittest
import HTMLTestRunner
from class_1103.class_011 import TestLogin #具体到类名
from class_1101.gyp1101 import datedd #存储
suite = unittest.TestSuite()
#加载
loader = unittest.TestLoader() #ddt不能用创建实力 suite.addTest(loader.loadTestsFromTestCase(TestLogin))
#输出
with open('test_report.html','wb') as file:
runner = HTMLTestRunner.HTMLTestRunner(stream=file,verbosity=2,title='框架学习练习',tester='GYP测试')
runner.run(suite)

1103_ddt 数据处理的更多相关文章

  1. Netty:数据处理流程

    Netty作为异步的.事件驱动一个网络通信框架,使用它可以帮助我们快速开发高性能高可靠性的网络服务. 为了更好的使用Netty来解决开发中的问题,学习Netty是很有必要的. Netty现在主流有三个 ...

  2. 《Caffe下跑AlxNet之数据处理过程》

    环境:Windows 最近用Caffe跑了一下AlxNet网络,现在总结一下数据处理部分:(处理过的数据打包链接:http://pan.baidu.com/s/1sl8M5ad   密码:ph1y) ...

  3. 七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理

    第三天我们将学习Asp.Net中数据处理功能,了解数据访问层,EF,以及EF中常用的代码实现方式,创建数据访问层和数据入口,处理Post数据,以及数据验证等功能. 系列文章 七天学会ASP.NET M ...

  4. ajax的使用:例题、ajax的数据处理

    需要注意的是,调用的封装的数据库,和jQuery的保存地址 一.注册 (1)写文本框来进行用户名的验证 <input type="text" id="uid&quo ...

  5. geotrellis使用(三)geotrellis数据处理过程分析

    之前简单介绍了geotrellis的工作过程以及一个简单的demo,最近在此demo的基础上实现了SRTM DEM数据的实时分析以及高程实时处理,下面我就以我实现的上述功能为例,简单介绍一下geotr ...

  6. geotrellis使用(四)geotrellis数据处理部分细节

    前面写了几篇博客介绍了Geotrellis的简单使用,具体链接在文后,今天我主要介绍一下Geotrellis在数据处理的过程中需要注意的细节,或者一些简单的经验技巧以供参考. 一.直接操作本地Geot ...

  7. Web页面实现后台数据处理进度与剩余时间的显示

    1.页面后台代码添加如下属性: /// <summary> /// 总数 /// </summary> private double total { set { Session ...

  8. Asp.net 面向接口可扩展框架之数据处理模块及EntityFramework扩展和Dapper扩展(含干货)

    接口数据处理模块是什么意思呢?实际上很简单,就是使用面向接口的思想和方式来做数据处理. 还提到EntityFramework和Dapper,EntityFramework和Dapper是.net环境下 ...

  9. 解密H264、AAC硬件解码的关键扩展数据处理

    通过上一篇文章,我们用ffmpeg分离出一个多媒体容器中的音视频数据,但是很可能这些数据是不能被正确解码的.为什么呢?因为在解码这些数据之前,需要对解码器做一些配置,典型的就是目前流行的高清编码“黄金 ...

随机推荐

  1. linux系统中日常运维常用命令汇总一

    一.查看日志和机器相关信息常用命令 1.cat cat 命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往 ...

  2. React Router 4.x 开发,这些雷区我们都帮你踩过了

    前言 在前端框架层出不穷的今天,React 以其虚拟 DOM .组件化开发思想等特性迅速占据了主流位置,成为前端开发工程师热衷的 Javascript 库.作为 React 体系中的重要组成部分:Re ...

  3. luogu P5305 [GXOI/GZOI2019]旧词

    传送门 先考虑\(k=1\),一个点的深度就是到根节点的路径上的点的个数,所以\(lca(x,y)\)的深度就是\(x\)和\(y\)到根路径的交集路径上的点的个数,那么对于一个询问,我们可以对每个点 ...

  4. java项目部署常用linux命令

    1.显示当前所有java进程pid的命令:jps2.查找文件或文件夹目录查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查 ...

  5. python2x和python3的区别

    1,源码的区别 py2x:源码比较混乱,重复代码较多,冗余 py3x: 源码崇尚优美,代码清晰简单 2,用户交互的区别: py2x:python2中input的到的数据类型为int型,Python2x ...

  6. 使用window.performance分析web前端性能

    参考链接:https://blog.csdn.net/lovenjoe/article/details/80260658

  7. opencv基础教程

    1,基本语法 环境:python3.6.6+numpy+opencv3 安装:没有详细编译,直接pip install opencv-python 矩阵和图片: img=numpy.zeros((3, ...

  8. 按Ctrl+Enter发送的实现

    按Ctrl+Enter发送 1, 监听textarea的onkeydown事件 <textarea tabindex="1" class="ie6ta" ...

  9. Mac环境下Redis的安装

    1.下载 官网下载地址:https://redis.io/download,选择对应的下载版本,我下载的是4.0.12 2.安装 1)下载文件解压后复制到/usr/local/目录下(快速找到路径小技 ...

  10. node.js+mongodb 爬虫

    demo截图: 本demo爬瓜子二手车北京区的数据 (注:需要略懂 node.js / mongodb 不懂也没关系 因为我也不懂啊~~~) 之所以选择爬瓜子二手车网站有两点: 一.网站无需登录,少做 ...