测试 - 数据驱动(DDT)

About#

DDT(Data Driver Test)数据驱动测试,是由测试数据来驱动测试用例的执行;DDT可以实现用例的重复执行以及代码的重复使用,减少工作量。数据代码分离为主流设计思路,在常见的测试体系中可以使用xml文件、excel文件、json文件来管理测试数据;通过代码自动读取,来驱动用例的执行,ddt测试框架基于这种设计思路上,实现了方便使用,简单易懂的效果。

下载

pip install ddt==1.3.1
pip install -i https://pypi.doubanio.com/simple ddt==1.3.1

在unittest中的应用#

import unittest
import ddt
import requests
data_list = [
{"url": "https://cnodejs.org/api/v1/topics", "method": "get"},
{"url": "https://cnodejs.org/api/v1/topic/5433d5e4e737cbe96dcef312", "method": "get"},
{"url": "https://cnodejs.org/api/v1/topic_collect/collect", "method": "post"},
{"url": "https://cnodejs.org/api/v1/topic_collect/de_collect", "method": "post"},
{"url": "https://cnodejs.org/api/v1/user/alsotang", "method": "get"},
{"url": "https://cnodejs.org/api/v1/message/mark_all", "method": "post"},
]
@ddt.ddt
class MyCase(unittest.TestCase):
def get_response(self, item):
return requests.request(method=item['method'], url=item['url'])
@ddt.data(*data_list)
def test_case_01(self, item):
response = self.get_response(item)
self.assertEqual(response.status_code, 200)
if __name__ == '__main__':
unittest.main(verbosity=2)

如上示例,我们从Excel或者其他文本中获取到的数据是data_list类型,那么在做数据驱动的时候,就可以通过如上示例的操作来完成数据驱动测试。
注意:别忘了类上面的@ddt.ddt


see also:

ATDD和TDD的区别是什么? | 如何简单的理解TDD与DDT | 测试人一定要知道的三种自动化测试模式

作者: 听雨危楼

出处:https://www.cnblogs.com/Neeo/articles/11504982.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

仰望星空,脚踏实地

posted @   hanfe1  阅读(688)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2020-01-14 第十二章 Django框架开发
2020-01-14 Python format 格式化函数
点击右上角即可分享
微信分享提示