码迷,mamicode.com
首页 > 编程语言 > 详细

Python Unittest与数据驱动

时间:2017-05-28 23:14:59      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:测试结果   pass   div   ack   exp   ima   .com   数据驱动   安装   

      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与数据驱动

标签:测试结果   pass   div   ack   exp   ima   .com   数据驱动   安装   

原文地址:http://www.cnblogs.com/chengtch/p/6916821.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!