unittest参数化

作者: summer_1a77 | 来源:发表于2019-03-31 17:31 被阅读0次

我们在写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()

下面是运行结果,咱们上面只运行了一次,可以发现,它自动帮咱们运行了4次。

转载自https://www.cnblogs.com/feng0815/p/8045859.html

相关文章

网友评论

    本文标题:unittest参数化

    本文链接:https://www.haomeiwen.com/subject/mmsubqtx.html