Mockito为我正在嘲笑的类抛出错误"The method when(T) in the type Stubber is not applicable for the arguments (void)"
,不知道为什么。
有问题的代码是:
Mockito.when(mockObject.myMethod(Mockito.any(MyExecutionContext.class))).thenReturn(value);
我知道也有人问过类似的问题,但如果有人能解释这个问题的解决方案或为我指明正确的方向,我将非常感谢
解决方案:
Mockito.doReturn(value)
.when(mockObject)
.myMethod(Mockito.any(MyExecutionContext.class))
您正在模拟的方法(在上面的示例中:mockObject.myMethod)的返回类型可能是VOID。
如果方法的返回类型为"void",则使用以下格式:
doThrow(new PersistenceException("Exception occured")).when(mockObject).myMethod(any());
// Note that we can never return a value when return type is void.