【问题标题】:Mockito Error Is Not Applicable for the Arguments (void)Mockito 错误不适用于参数(无效)
【发布时间】:2015-04-09 11:42:38
【问题描述】:

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);

我知道有人问过类似的问题,但如果有人可以为此解释解决方案或指出正确的方向,我将不胜感激

【问题讨论】:

    标签: java mocking mockito


    【解决方案1】:

    解决方案:

    Mockito.doReturn(value)
           .when(mockObject)
           .myMethod(Mockito.any(MyExecutionContext‌​.class))
    

    【讨论】:

    • 原来的问题是说你特意寻找更好的解释,因为还有其他的答案,而这实际上并没有解释什么。标记。
    【解决方案2】:

    您正在模拟的方法(在上面的示例中: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.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-25
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      相关资源
      最近更新 更多