原因:不存在类型变量 T 的实例,因此 void 符合使用 mockito

新手上路,请多包涵

我想在运行 void 方法时抛出异常

when(booking.validate(any())).thenThrow(BookingException.builder().build());

但我有一个编译错误:

 Required type: T
Provided: void
reason: no instance(s) of type variable(s) T exist so that void conforms to T

原文由 Sandro Rey 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 4.6k
2 个回答

对于 void 方法,我认为您需要使用 doThrow 语法。

所以在你的情况下它将是:

 doThrow(BookingException.builder().build())
      .when(booking)
      .validate(any());

我希望这有帮助。

原文由 Shane Creedon 发布,翻译遵循 CC BY-SA 4.0 许可协议

我想出了正确的语法。

 Service mockedService = new DefaultServie();
doNothing().when(mockedService).sendReportingLogs(null);

希望这能回答问题

原文由 M-sAnNan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题