zoukankan      html  css  js  c++  java
  • 接口自动化--数据驱动(ddt)

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

  • 相关阅读:
    【PAT甲级】1079 Total Sales of Supply Chain (25 分)
    CQOI2018 Day1 社交网络
    codeforces 707E Garlands (离线、二维树状数组)
    NOI2018 Day1 归程(Kruskal重构树)
    NOI2018 Day2 屠龙勇士(扩展孙子定理+multiset)
    知识点:二叉(重量)平衡树——替罪羊树
    BZOJ3065 带插入区间K小值
    知识点:斜率优化DP
    知识点:FFT详解
    博客园test(搭博客用)
  • 原文地址:https://www.cnblogs.com/LCboss/p/11842251.html
Copyright © 2011-2022 走看看