当前位置: 首页 > news >正文

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

相关文章:

  • NTP服务器时间同步
  • jquery中的基本理解以及样式属性操作
  • 机票分享第一篇 机票由何而来
  • 马斯克“地狱”归来,回应一切
  • win7 打开office失败并提示“向程序发送命令错误” 解决方法
  • 开发一个自己的天气chrome extension
  • Tomcat for Eclipse
  • 深度学习人工智能离我们还有多远?
  • eclipse内存设置参数
  • 2018一半小结一波
  • GTX 770 (GK 104)
  • JSP和Servlet的区别
  • [转]关于矩阵的本质
  • C# Enum 类型遍历
  • MOSS: SPSecurity.RunWithElevatedPrivileges提升权限来新增列表条目示例
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • C# 免费离线人脸识别 2.0 Demo
  • docker-consul
  • Docker入门(二) - Dockerfile
  • input实现文字超出省略号功能
  • Java Agent 学习笔记
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • node-glob通配符
  • Promise面试题,控制异步流程
  • text-decoration与color属性
  • vuex 学习笔记 01
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 第十八天-企业应用架构模式-基本模式
  • 理解在java “”i=i++;”所发生的事情
  • 面试总结JavaScript篇
  • 入口文件开始,分析Vue源码实现
  • 深度学习入门:10门免费线上课程推荐
  • 用jquery写贪吃蛇
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • (1)STL算法之遍历容器
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (论文阅读40-45)图像描述1
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (实战篇)如何缓存数据
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)母版页和相对路径
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .java 9 找不到符号_java找不到符号
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .net反混淆脱壳工具de4dot的使用
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • @ModelAttribute注解使用