上次我们提到了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数据驱动,暂时就这么多,相信运用到接口测试中也是足够了

最新文章

  1. JQuery mobile中按钮自定义属性的改变
  2. Centos下安装Mongodb
  3. WEB界面onload前的加载流程❤❤
  4. SNF开发平台WinForm之七-单据打印和使用说明-SNF快速开发平台3.3-Spring.Net.Framework
  5. python列表推导式详解
  6. 将UIWebView显示的内容转为图片和PDF
  7. T-SQL切割字符串方法小结
  8. lisp构造表
  9. 【C#】Get the html code of a webpage
  10. PKIX path building failed
  11. 4本相见恨晚的Linux入门书籍
  12. projective dynamics的global solve中 引入拉格朗日乘子的简化方法
  13. vue2.0 技巧汇总
  14. ubuntu安装图形界面
  15. Xshell连接不上虚拟机提示ssh服务器拒绝了密码,请再试一次
  16. 使用commons-compress解压GBK格式winzip文件到UTF8,以及错误使用ZipArchiveInputStream读出来数据全是空的解决办法
  17. 创建/删除Cookie数据
  18. linux 利用cat写入一段文件
  19. HDFS特点
  20. SSH secure shell 权威指南(转载)

热门文章

  1. Shell编程——test命令
  2. linux-部署1
  3. MySQL实战45讲学习笔记:第一讲
  4. MySQL实战45讲学习笔记:第三十讲
  5. 2,[VS入门教程] 使用Visual Studio写c语言 入门与技巧精品文~~~~优化篇
  6. 文件夹如何添加备注(保证可以WIN7 WIN10测试通过)
  7. Oracle常用函数集锦
  8. docker环境下数据库的备份(postgresql, mysql)
  9. centos 7 安装python3 & pip3
  10. 在Linux上利用curl 命令模拟 HTTP GET/POST 请求