我正在尝试编写一个Junit测试,该测试将验证是否调用了以下方法:
public long executeRequest(@RequestCodes.Code.RequestAnnotation int requestCode, Object requestInformation, RequestListener requestListener) {
boolean success = false;
... do stuff ...
return success ? 1L : -1L;
}
在测试中使用:
Mockito.when(mockedRequest.executeRequest(Matchers.any(RequestCodes.Code.RequestAnnotation.class), Matchers.any(RequestWrapper.class), Matchers.any(RequestListener.class))).thenReturn(1L);
RequestCodes.Code.RequestAnnotation类是一个基本的indef接口(interface),使用一个int标识使用开关进行的调用。就像this一样。
Matchers.any(RequestCodes.Code.RequestAnnotation.class)
在这里不起作用,我尝试了Matchers.any()
,Matchers.anyInt()
,Matchers.isA(RequestCodes.Code.RequestAnnotation.getClass())
(以及想到的其他任何东西)都没有成功。任何建议将不胜感激。
最佳答案
现在,您可以使用@SuppressWarnings("WrongConstant")
针对此特定测试来抑制此错误。它工作正常,并保持生产清洁。