unittest参数化
2023-02-18 16:38:20 时间
我们在写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次。
相关文章
- [前端]css前端样式的模块化
- kubernetes数据持久化StorageClass动态供给(二)
- kubernetes数据持久化PV-PVC详解(一)
- kubernetes之Ingress发布应用实现rewrite重写并配置HTTPS;(二)
- kubernetes之基于ServiceAccount拉取私有镜像
- Knative部署应用以及应用的更新、应用的分流(三)
- Jenkins配置下载插件源;
- kubernetes之一文详解Ingress;(一)
- Centos7安装Jenkins详解;
- kubernetes之镜像拉取策略ImagePullSecrets;
- kubernetes之镜像拉取策略ImagePullPolicy;
- kubernetes之Endpoint引入外部资源实践;
- 一文搞懂什么是kubernetes Service
- Serverless之Knative部署应用示例(二)
- Serverless之knative1.6安装(一)
- Nginx篇之Ubuntu18.04.3编译安装Nginx
- kubernetes之DaemonSet以及滚动更新 (三)
- kubernetes之资源限制及QOS服务质量
- 一文搞懂kubernetes Deployment之滚动更新、回滚应用及策略;(二)
- kubernetes之Deployment控制器(一)