我正在尝试编写一个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")针对此特定测试来抑制此错误。它工作正常,并保持生产清洁。

09-28 04:47