• unittest参数化


    我们在写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次。

    如果您觉得本篇文章还不错,欢迎点赞,转发分享,感谢~~
  • 相关阅读:
    Flutter-路由
    写一个底部Tabs导航动态组件
    实例:Flutter布局01
    HTTP报文
    HTML文本的各种属性
    HTML必要简介和基础
    MySQL8.0.23安装超详细傻瓜式
    从一个HTTP请求来研究网络分层原理
    MySQL的增删改查
    MySQL常用数据类型有哪些?
  • 原文地址:https://www.cnblogs.com/ExMan/p/10165568.html
Copyright © 2020-2023  润新知