程序笔记   发布时间:2022-07-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了python进阶11-unittest参数化大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

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

pip install nose-parameterized

下面是代码

python进阶11-unittest参数化

import unittest
from nose_parameterized import parameterized
#导入这个模块
class My(unittest.TESTCasE):
@parameterized.expand(
    [
        (</span>1,2,3<span style="color: rgba(0, 0, 0, 1)">),
        (</span>1,2,3<span style="color: rgba(0, 0, 0, 1)">),
        (</span>1,2,3<span style="color: rgba(0, 0, 0, 1)">),
        (</span>1,2,4<span style="color: rgba(0, 0, 0, 1)">)
     ]
)</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">使用它提供的装饰器装饰这个函数,把咱们写的这4个数据放到这个list里面</span>
<span style="color: rgba(0, 0, 255, 1)">def</span><span style="color: rgba(0, 0, 0, 1)"> test1(self,a,b,C):
    self.assertEqual(a</span>+<span style="color: rgba(0, 0, 0, 1)">b,C)

if name=='@H_288_58@main': unittest.main()

python进阶11-unittest参数化

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

python进阶11-unittest参数化

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

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

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

pip install nose-parameterized

下面是代码

python进阶11-unittest参数化

import unittest
from nose_parameterized import parameterized
#导入这个模块
class My(unittest.TESTCasE):
@parameterized.expand(
    [
        (</span>1,2,3<span style="color: rgba(0, 0, 0, 1)">),
        (</span>1,2,3<span style="color: rgba(0, 0, 0, 1)">),
        (</span>1,2,3<span style="color: rgba(0, 0, 0, 1)">),
        (</span>1,2,4<span style="color: rgba(0, 0, 0, 1)">)
     ]
)</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">使用它提供的装饰器装饰这个函数,把咱们写的这4个数据放到这个list里面</span>
<span style="color: rgba(0, 0, 255, 1)">def</span><span style="color: rgba(0, 0, 0, 1)"> test1(self,a,b,C):
    self.assertEqual(a</span>+<span style="color: rgba(0, 0, 0, 1)">b,C)

if name=='@H_288_58@main': unittest.main()

python进阶11-unittest参数化

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

python进阶11-unittest参数化

大佬总结

以上是大佬教程为你收集整理的python进阶11-unittest参数化全部内容,希望文章能够帮你解决python进阶11-unittest参数化所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。