Python学习笔记10--unittest参数化

咱们在写case的时候,若是用例的操做是同样的,就是参数不一样,好比说要测一个登录的接口,要测正常登录的、黑名单用户登录的、帐号密码错误的等等,在unittest里面就要写多个case来测试。python

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

固然有个第三方模块就直接有这样的功能,不须要我们再本身写循环了。那就是nose-parameterized,直接pip安装便可。测试

pip install nose-parameterized

下面是代码blog

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()

下面是运行结果,我们上面只运行了一次,能够发现,它自动帮我们运行了4次。接口

相关文章
相关标签/搜索