我有一个返回类型为void的方法.它还可以抛出许多异常,所以我想测试抛出的异常.所有try 均因相同原因失败:

类型stuber中的when(T)方法不适用于参数(void)

知道如何让方法抛出指定的异常吗?

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

推荐答案

括号放得不好.

你需要使用:

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

NOT.使用:

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

这一点在第the documentation节中有解释.

Java相关问答推荐

使用SaxonJ HE在收件箱中摆脱regex

Java -使用空比较或instanceof?

获取拦截器内部的IP地址

Java在模块化jar文件中找不到类,但是javap可以

无法找到符号错误—Java—封装

Cucumber TestNG Assert失败,出现java. lang. Numbercycle异常

Javascript在边界中心调整ImageView大小

inteliJ中是否有一个功能可以自动在块注释中的/*后面添加一个空格?''

上下文初始化期间遇到异常-使用Java配置配置HibernateTemplate Bean时

如何修复IndexOutOfBoundsException在ClerView适配器的onRowMoved函数?

扩展视图高度,并将其拖动到较低的视图上,而不是将其向下推?

如何在Java中为thunk创建映射器函数

如何配置空手道以使用FeignClient或RestTemplate代替ApacheHttpClient

X=x*0.90;产生有损转换误差.X*=0.90;不是.为什么?

如何从HttpResponse实例获取Entity对象的内容?

对从Spring Boot 3.1.5升级到3.2.0的方法的查询验证失败

Java递归泛型是否可以被视为继承和重写的语法糖

spring 更新多项管理关系

无泄漏函数的Java DRY

Java 21保护模式的穷尽性