测试 - 数据驱动(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 国际」许可协议进行许可。
仰望星空,脚踏实地
分类:
测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.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 格式化函数