数据驱动DDT

DDT的作用:灵活管理测试数据,保证每组数据是独立的,不需要每个测试用例都写一个方法

用法:

Import ddt

@ddt.ddt

class Test Login(unit test.TestCase):

      @ddt.data(*test_data)

      def test_login(self, test_info):

              res = Test_login(test_info[‘1234’])

             self.assertEqual(res, test_info['test'])

因为在函数使用源码不会显示这组数据是测试什么功能,所以需要把源码拷贝一份在基础上增加判断,写入测试用例的名称,在调用的DDT函数中加入以下判断:

if isinstance (v, list):

    test_name = mk_test_name(name, v[2], i).      #excel中第三列需加入用例名称

elif isinstance (v, dict):

   test_name = mk_test_name(name, v[‘case_name’], i)

 

 

 

以上是针对函数的源码修改方法,针对类对象修改是继承然后重写对应的方法,就不需要复制源码拉

 

posted @ 2021-12-26 13:38  哩子吖  阅读(138)  评论(0)    收藏  举报