首页 > 代码库 > Python Unittest与数据驱动
Python Unittest与数据驱动
python中有一个装饰器类DDT,通过它我们可以复用代码,达到数据驱动测试的目的,该类的官方介绍可以参考
http://ddt.readthedocs.io/en/latest/index.html
安装ddt方式很简单,直接在cmd命令行输入:pip install ddt ,完成安装即可。
下面看一个简单的例子:
1 import unittest 2 from practise.myTestPractice.api_login import * 3 import ddt 4 5 6 @ddt.ddt 7 class Praddt(unittest.TestCase): 8 9 def setUp(self): 10 print("my test start!") 11 12 def tearDown(self): 13 print("my test complete!") 14 15 @ddt.data(["admin", "1qaz", "OK"], 16 ["admin", "", "ERROR"], 17 ["", "1qaz", "ERROR"], 18 ["admin", "1234", "ERROR"], 19 ["Admin", "1qaz", "ERROR"]) 20 @ddt.unpack 21 def test_ddt(self, user, passwd, expect_value): 22 result = Login.login(user, passwd) 23 self.assertEqual(result, expect_value, msg=result)
上面展示一个简单的测试类,测试对象是一个登录函数login,当用户、密码正确时,返回OK,用户或密码错误返回ERROR。我们在测试类上加上装饰器@ddt.ddt ,在测试方法上加上装饰器data和unpack,并把测试数据如上模式放在data中。
执行测试:
从unittest运行出的测试结果可以看出,我们共执行了5条测试用例,分别对应了data中的5条测试数据。也就是
说我们通过一个测试方法就依次读取到了五条测试数据及其预期结果,代码量会精简不少。
Python Unittest与数据驱动
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。