使用Mockito Matchers.any()和android.support.annotation.IntDef自定义注释

时间:2016-08-02 13:23:18

标签: android unit-testing junit mockito

我正在尝试编写一个Junit测试,它将验证是否调用了以下方法:

XmlProvider

在测试中使用:

public long executeRequest(@RequestCodes.Code.RequestAnnotation int requestCode, Object requestInformation, RequestListener requestListener) {

    boolean success = false;

    ... do stuff ...

    return success ? 1L : -1L;

}

RequestCodes.Code.RequestAnnotation类是一个基本的indef接口,使用int来标识使用开关进行的调用。非常像this

Mockito.when(mockedRequest.executeRequest(Matchers.any(RequestCodes.Code.RequestAnnotation.class), Matchers.any(RequestWrapper.class), Matchers.any(RequestListener.class))).thenReturn(1L); 在这里不起作用,我尝试了Matchers.any(RequestCodes.Code.RequestAnnotation.class)Matchers.any()Matchers.anyInt()(以及其他任何想到的内容)都没有成功。< / p>

我们非常感谢任何建议。

1 个答案:

答案 0 :(得分:2)

目前,您可以使用@SuppressWarnings("WrongConstant")针对此特定测试禁止此错误。它工作正常,并保持您的生产清洁。