首页 > 解决方案 > 原因:不存在类型变量 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

标签: javaspringspring-bootjunitmockito

解决方案


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

因此,在您的情况下,它将是:

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

我希望这有帮助。


推荐阅读