unittest参数化

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

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

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

pip install nose-parameterized

 

import unittest
import nose_parameterized
def calc(a,b):
    res=round(a/b,2)
    print(res)
    return res
case=[
    [1,2,0.50],
    [2,2,1.00],
    [3,4,0.46]
]#使用它提供的装饰器装饰这个函数,把咱们写的这4个数据放到这个list里面
class MyTest(unittest.TestCase):
    @nose_parameterized.parameterized.expand(case)
    def test_func(self,a,b,e):
        res=calc(a,b)
        self.assertEqual(res,e)
unittest.main()
运行结果中,咱们上面只运行了一次,可以发现,它自动帮咱们运行了4次。

 

转载于:https://www.cnblogs.com/wxcx/p/9300883.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值