python中有一个装饰器类DDT,通过它我们可以复用代码,达到数据驱动测试的目的,该类的官方介绍可以参考

http://ddt.readthedocs.io/en/latest/index.html

安装ddt方式很简单,直接在cmd命令行输入:pip install ddt ,完成安装即可。

下面看一个简单的例子:

 import unittest
from practise.myTestPractice.api_login import *
import ddt @ddt.ddt
class Praddt(unittest.TestCase): def setUp(self):
print("my test start!") def tearDown(self):
print("my test complete!") @ddt.data(["admin", "1qaz", "OK"],
["admin", "", "ERROR"],
["", "1qaz", "ERROR"],
["admin", "", "ERROR"],
["Admin", "1qaz", "ERROR"])
@ddt.unpack
def test_ddt(self, user, passwd, expect_value):
result = Login.login(user, passwd)
self.assertEqual(result, expect_value, msg=result)

上面展示一个简单的测试类,测试对象是一个登录函数login,当用户、密码正确时,返回OK,用户或密码错误返回ERROR。我们在测试类上加上装饰器@ddt.ddt ,在测试方法上加上装饰器data和unpack,并把测试数据如上模式放在data中。

执行测试:

从unittest运行出的测试结果可以看出,我们共执行了5条测试用例,分别对应了data中的5条测试数据。也就是

说我们通过一个测试方法就依次读取到了五条测试数据及其预期结果,代码量会精简不少。

最新文章

  1. TYPESDK手游聚合SDK客户端远程开关:渠道支付黑名单
  2. ArcgisAdd-In开发入门实例
  3. Unknow Unknow
  4. 数据导入读取read.table函数详解,如何读取不规则的数据(fill=T)
  5. Scrapy中的item是什么
  6. C#中检测某个类(方法、程序集等各种部分)是否应用了指定的特性以及对特性的一些简单操作
  7. hdu1026
  8. js--学习方法之-转
  9. Page directive must not have multiple occurrences of pageencoding
  10. struts2-学习笔记(三)
  11. BIRT实现组内跨行计算
  12. 全球排名第一的开源ERP Odoo v12 最新一键安装体验版正式发布
  13. dubbo配置多个注册中心
  14. MySQL安装指南(转)
  15. 基础006_pg109_IP-Xfft
  16. BUG(1):一个关于指针的bug
  17. linux系统cpu和内存占用率
  18. 16S 基础知识、分析工具和分析流程详解
  19. Mininet安装,简单实现一个网络拓扑结构
  20. xml的相关知识

热门文章

  1. ios在tableview里面加subview后在ip4和ip5上显示不一样的问题
  2. Django笔记 —— 入门简介
  3. nginx配置及HTTPS配置示例
  4. leetcode 【 Remove Duplicates from Sorted List 】 python 实现
  5. 《移动App性能评测与优化》读书笔记
  6. Python全栈工程师(exercises)
  7. 孤荷凌寒自学python第三十六天文件内容的迭代操作
  8. A. Vasya and Book
  9. PBFT性能会下降? 各种算法的对比。
  10. PHP可变变量的简单使用