zoukankan      html  css  js  c++  java
  • 测试

    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 国际」许可协议进行许可。

    仰望星空,脚踏实地

  • 相关阅读:
    iOS input disabled显示不清楚
    钉钉小程序——JSAPI
    留言板
    友链
    mysql---存储引擎
    union与limit
    spring--setter注入
    spring---生命周期
    sql03-连接查询
    sql01--认识表
  • 原文地址:https://www.cnblogs.com/hanfe1/p/14278760.html
Copyright © 2011-2022 走看看