数据驱动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)
以上是针对函数的源码修改方法,针对类对象修改是继承然后重写对应的方法,就不需要复制源码拉
有更好的建议,欢迎留言啊~