上次我们提到了unittest单元测试框架,运用单元测试框架unittest进行编写测试用例

但是遇到了一个问题,就是难道我一个测试点中有多个测试用例,我要每一个都要去编写一条测试用例嘛?这实在是太复杂了,人工成本太高了

经过一系列的挣扎,最开始是使用的for循环实现的,这个也可以,但是过于累赘,然后采用了第三方库:ddt,简单介绍下ddt是怎么使用的

安装方式:

pip install ddt

使用方式:

这个我就直接贴代码了吧,文字说明不太容易表达,测试数据还是引用之前的测试数据吧,,,

import unittest
from ddt import ddt, data def A(a, b):
# 测试函数
return a+b @ddt
class TestA(unittest.TestCase):
# 测试数据
test_data = [{"a": 3, "b": 5, "expect": 8},
{"a": 3, "b": 3, "expect": 6}] @data(*test_data)
def test_right(self, data_info):
# 测试用例
self.assertEqual(data_info["expect"], A(data_info["a"], data_info["b"]), "用例执行失败") if __name__ == '__main__':
# 执行所有的用例
unittest.main()

从上面的代码可以看出,我们在test_data里面是存在两条数据,那么按照之前的我们应该在下面写两个测试方法的,现在我们只写了一个测试方法就OK; ,我们看下执行的结果是什么吧

测试结果中显示我们跑了两条测试用例,说明我们用ddt已经解决了我们数据驱动的问题了。

下面用图示说明下具体的

关于ddt数据驱动,暂时就这么多,相信运用到接口测试中也是足够了

接口自动化--数据驱动(ddt)的更多相关文章

  1. python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(二)

    可以参考 python+requests接口自动化完整项目设计源码(一)https://www.cnblogs.com/111testing/p/9612671.html 原文地址https://ww ...

  2. python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(已弃用)

    前言 1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请 ...

  3. 接口自动化之ddt

    接口自动化会用到数据驱动模式,也就是一个ddt模块 目录 1.环境准备 2.调用时标准格式 3.应用(结合excle来传值) 1.环境准备 首先,需要安装ddt模块 pip install ddt 2 ...

  4. python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告

    1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请求参数 ...

  5. 【python接口自动化】- DDT数据驱动测试

    简单介绍 ​ DDT(Date Driver Test),所谓数据驱动测试,简单来说就是由数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变.通过使用数据驱动测试的方法,可以在需要验证多组数据 ...

  6. python接口自动化测试 - 数据驱动DDT模块的简单使用

    DDT简单介绍 名称:Data-Driven Tests,数据驱动测试 作用:由外部数据集合来驱动测试用例的执行 核心的思想:数据和测试代码分离 应用场景:一组外部数据来执行相同的操作 优点:当测试数 ...

  7. 接口自动化 之 unittest+ddt+openpyxl 综合

    前面写过python 之 unittest初探 和 python 之 unittest+ddt 两篇文章.在之前的文章中,写过可以再次优化.今天写第三篇的目的,就是在原有基础上,基于 openpyxl ...

  8. 接口自动化之unittest+ddt

    我在上一篇(https://www.cnblogs.com/wlyhy/p/10083318.html) 文章整理了unittest的模板,但在后续学习中,发现还有许多值得优化的地方.例如在我们设计测 ...

  9. python脚本实现接口自动化轻松搞定上千条接口用例

    接口自动化目前是测试圈主流的一个话题,我也在网上搜索了很多关于自动化的关键词,大多数博主分享的python做接口自动化都是以开源的框架,比如:pytest.unittest+ddt(数据驱动) 最常见 ...

随机推荐

  1. github新建本地仓库并将代码提交到远程仓库

    方式一: 在github上新建好仓库:gitTest 使用命令git clone git@github.com:yourgithubID/gitTest.git,克隆到本地相应的位置 将要上传的工程代 ...

  2. 不使用xftp上传/下载文件到linux

    yum install lrzsz    # 安装软件 window端上传到linux端: 1. window端先压缩需上传的文件 2. linux端运行命令rz 3. 在弹出的窗口选择压缩好的文件, ...

  3. [LeetCode] 925. Long Pressed Name 长按键入的名字

    Your friend is typing his name into a keyboard.  Sometimes, when typing a character c, the key might ...

  4. rIoTboard学习系列

    刚在咸鱼买了块开发板,比较老了14年的,SOC为imx6solo,内核3.10,uboot2009的,准备先移植一个较新的uboot 到nxp的git下获取他们维护的uboot,网址http://gi ...

  5. thinkphp5.1 - twig使用

    thinkphp5.1 - twig使用1.安装按照:https://github.com/yunwuxin/think-twigTwig Template For ThinkPHP5 安装 comp ...

  6. [数据库] SQL 语法之基础篇

    一.什么是 SQL ? SQL 是 Structured Query Language(结构化查询语言)的缩写,是一种专门用来与数据库沟通的语言.与其他语言(如英语或 C.C++.Java 这样的编程 ...

  7. Beta冲刺(6/7)——2019.5.28

    作业描述 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 项目Beta冲刺(团队) 团队目标 切实可行的计算机协会维修预约平台 开发工具 Eclipse 团队信息 队员学号 队 ...

  8. 通过IP获取MAC地址例子(内核层)

    博客地址:http://home.cnblogs.com/u/zengjianrong/ 在内核处理此流程,反而更加简单些,代码如下: #include <net/arp.h> #incl ...

  9. Task 小记

    1. 注意 Task 执行的顺序. 如下代码: IQueryable<T> querySet; if (preConditionExpression == null) { querySet ...

  10. 《 .NET并发编程实战》阅读指南 - 第7章

    先发表生成URL以印在书里面.等书籍正式出版销售后会公开内容.