我不知道是什么导致了这个问题,但它抛出了一个无效的UseOfMatchersException。
This exception may occur if matchers are combined with raw values:
//incorrect:
someMethod(anyObject(), "raw String");
When using matchers, all arguments have to be provided by matchers.
For example:
//correct:
someMethod(anyObject(), eq("String by matcher"));
For more info see javadoc for Matchers class.
导致异常的代码如下。
when(EventHandlingForFileUpload.onUploadEvent(any(CustomBatchFile.class))).thenReturn(SomeCustomEvents);
如果EventHandlingForFileUpload.onUploadEvent
是静态方法,则需要使用 PowerMock 或重构代码;Mockito仅适用于非final
类和接口上的非final
实例方法(没有Mockito 2.1的选择加入最终模拟魔法(。
我也没有使用任何原始值,但得到了"无效使用匹配者异常">
我有类似的东西
when(service.getResolver(eq(document.getId()), anyString())).thenReturn(aResolver);
它抛出了异常。"文档"是模拟
在我将其更改为...
when(service.getResolver(eq(docId), anyString())).thenReturn(aResolver);
。它有效(即我移出了方法调用getId(((