本文翻译自:Mockito test a void method throws an exception

I have a method with a void return type. 我有一个void返回类型的方法。 It can also throw a number of exceptions so I'd like to test those exceptions being thrown. 它还可以引发许多异常,因此我想测试所引发的异常。 All attempts have failed with the same reason: 所有尝试均以相同的原因失败:

The method when(T) in the type Stubber is not applicable for the arguments (void) Stubber类型中的when(T)方法不适用于参数(void)

Any ideas how I can get the method to throw a specified exception? 有什么想法可以获取引发指定异常的方法吗?

doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));

#1楼

参考:https://stackoom.com/question/11azR/Mockito测试void方法会引发异常


#2楼

The parentheses are badly placed. 括号放置不正确。 You must use 您必须使用

doThrow(new Exception()).when(mockedObject).methodReturningVoid(...);^

and not 并不是

doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));^

This is explained in the documentation 在文档中对此进行了解释


#3楼

If you ever wondered how to do it using the new BDD style of Mockito: 如果您想知道如何使用新的BDD样式的Mockito来做到这一点:

willThrow(new Exception()).given(mockedObject).methodReturningVoid(...));

And for future reference one may need to throw exception and then do nothing: 为了将来参考,可能需要抛出异常,然后什么也不做:

willThrow(new Exception()).willNothing().given(mockedObject).methodReturningVoid(...));

Mockito测试void方法会引发异常相关推荐

  1. 如何使用Mockito模拟void方法

    如何用void返回类型模拟方法? 我实现了一个观察者模式,但是我不能用Mockito模拟它,因为我不知道怎么做. 我试图在互联网上找到一个例子,但没有成功. 我的课看起来像这样: public cla ...

  2. java mock void_如何使用Mockito模拟void方法 - How to mock void methods with Mockito

    问题: How to mock methods with void return type? 如何用void返回类型模拟方法? I implemented an observer pattern bu ...

  3. mockito mock void方法_一文让你快速上手 Mockito 单元测试框架(上)

    作者|mghio 编辑|包包 前言  在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元功能是否适合使用.为代码编写单元测试有很多好处,包括可以及早的发现代码错误,促进更改 ...

  4. mockito mock void方法_一文让你快速上手 Mockito 单元测试框架

    前言 在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元功能是否适合使用.为代码编写单元测试有很多好处,包括可以及早的发现代码错误,促进更改,简化集成,方便代码重构以及许多 ...

  5. mockito mock void方法_用过举手!SpringBoot 单元测试利器Mockito

    Mockito 是一种 Java mock 框架,他主要是用来做 mock 测试的,他可以模拟任何 Spring 管理的 bean.模拟方法的返回值.模拟抛出异常...等,在了解 Mockito 的具 ...

  6. mockito mock void方法_Spock如何模拟抽象类方法

    我们平时写单元测试时经常会遇到调用抽象类或父类的方法,这些抽象方法可能是调用底层接口或数据库,需要mock掉,让抽象方法返回一个我们指定的值,以便测试当前代码逻辑的场景. 下面讲下Spock如何结合p ...

  7. mockito mock void方法_纯干货,浅谈Mockito在单元测试中的实际应用

    本文接上文"接口方没写代码,对接方只能停工吗?",在这里简单介绍Mockito在单元测试中的实际应用.本文使用场景较单一,如有雷同,不甚荣幸,闲言少叙,开门见山.本文将使用mock ...

  8. mockito mock void方法_使用 Junit + Mockito 实践单元测试!

    一.前言 相信做过开发的同学,都多多少少写过下面的代码,很长一段时间我一直以为这就是单元测试... @SpringBootTest @RunWith(SpringRunner.class) publi ...

  9. 测试私有方法_史上最轻量!阿里开源了新型单元测试Mock工具

    点击上方蓝色字体,选择"设为星标" 回复"666"获取面试宝典 TestableMock是基于源码和字节码增强的Java单元测试辅助工具,包含以下功能: 访问被 ...

最新文章

  1. 取消打开命令行进入默认anaconda的环境
  2. python最高版本-Python学习路线图(2020年最新版)
  3. C#学习系列之泛型类
  4. Java线程的概念:什么是线程?
  5. oracle ora-24247 ACL,ORACLE 11G 存储过程发送邮件(job),ORA-24247:网络访问被访问控制列表 (ACL) 拒绝...
  6. SpringMvc 面试题
  7. JVM—如何利用虚拟机栈进行函数调用?
  8. Mac下搭建jekyll环境
  9. 【转载】Ubuntu终端常用的快捷键
  10. ospf路由协议源码学习
  11. 索引-linux-技术大钢
  12. live linux 密码,Linux_如何使你的Linux系统省略输入用户名密码,在做Livecd的时候总是要输入用 - phpStudy...
  13. 飞船向上飞pygame用k_up_十分钟就能用Python教你开发出一个迷你打飞机的游戏
  14. 标准模块 os.path
  15. struts2与spring整合问题,访问struts2链接时,spring会负责创建Action
  16. 2017 ACM-ICPC 亚洲区(青岛赛区)网络赛 HDU 6206 1001 Apple(三角形外接圆圆心和半径)
  17. abb机器人写字程序实例_ABB机器人编程之程序流程指令(含案例)
  18. 指数基金日涨跌幅python_用Python验证指数基金定投策略
  19. 在Linux系统中安装JDK
  20. Git Bash/GUI Here “找不到应用程序问题” 的解决方案

热门文章

  1. observeOn()与subscribeOn()的详解
  2. 阿里6年32岁程序员:辞职在中小厂干了快两年,我怎么没有职场危机(年龄)?
  3. Android之linux基础教学之一 内存地址
  4. 算法-------三角形最小路径和(Java版本)
  5. OkHttp 使用基础
  6. 算法---------数组-----------翻转单链表
  7. android singleTop 不起作用
  8. 在 Keil uVision4 MDK下配置开发STM32F103Z完整教程
  9. oracle password_verify_function,使用PASSWORD_VERIFY_FUNCTION设置用户密码复杂度
  10. Android之自定义控件显示点赞用户并通过用户名称进入该用户主页的功能