码迷,mamicode.com
首页 > 其他好文 > 详细

unittest参数化

时间:2018-12-23 22:20:40      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:a+b   copy   代码   tle   list   def   lis   gif   个数   

我们在写case的时候,如果用例的操作是一样的,就是参数不同,比如说要测一个登陆的接口,要测正常登陆的、黑名单用户登陆的、账号密码错误的等等,在unittest里面就要写多个case来测试。

这样的情况只是调用接口的时候参数不一样而已,再写多个case的话就有点多余了,那怎么办呢,就得把这些参数都写到一个list里面, 然后循环去执行这个case。这样就可以省去写多个case了。

当然有个第三方模块就直接有这样的功能,不需要咱们再自己写循环了。那就是nose-parameterized,直接pip安装即可。

pip install nose-parameterized

下面是代码

技术分享图片
import unittest
from nose_parameterized import parameterized
#导入这个模块
class My(unittest.TestCase):
 
    @parameterized.expand(
        [
            (1,2,3),
            (1,2,3),
            (1,2,3),
            (1,2,4)
         ]
    )#使用它提供的装饰器装饰这个函数,把咱们写的这4个数据放到这个list里面
    def test1(self,a,b,c):
        self.assertEqual(a+b,c)
 
if __name__==‘__main__‘:
    unittest.main()
技术分享图片

unittest参数化

标签:a+b   copy   代码   tle   list   def   lis   gif   个数   

原文地址:https://www.cnblogs.com/ExMan/p/10165568.html

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