You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mockito使用when方法mock返回void的方法提示Required type: Void报错如何解决?

错误原因

该报错是因为 Mockito 不支持使用 when(mock.method()).thenThrow() 格式 Stub 无返回值(void)的方法:when() 方法要求入参必须是有返回值的方法调用,你使用的 check 方法返回类型为 void,不符合 when() 的入参要求,因此触发类型不匹配错误。

解决方案

改用 Mockito 为 void 方法专门设计的 doThrow 语法即可,正确写法如下:

doThrow(new Exception("")).when(service).check(anyInt());

语法规则说明

  • 先通过 doThrow(待抛出的异常实例) 声明要执行的操作
  • 再通过 .when(你的Mock实例) 指定要 Stub 的 Mock 对象
  • 最后在 Mock 对象后调用待 Stub 的 void 方法,传入对应的参数匹配规则即可

内容的提问来源于stack exchange,提问作者Battalgazi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 12:15:03