我有这种方法,“实例”是@Mock
instance.lookup(
SomeClass.class.getField("field").getAnnotation(MyAnnotation.class),
Annotation... annotations
)
该方法的签名就是这样:
Object lookup(MyAnnotation resource, Annotation... annotations);
现在,Annotation ...值在运行时在我测试的代码中放在那个模拟上。
当我这么做的时候,我正试图模仿它
Mockito.when(instance.lookup....).thenReturn(something);
但是查找方法总是返回null值并抛出异常(它基本上不返回“something”但是null)
我在想我必须嘲笑这些varargs所以我将其修改为
Mockito.when(instance.lookup(_instance line_, Mockito.any(Annotation[].class)))
但它没有告诉我我正在使用它“原始”。
当我像这样使用anyVarargs()时
Mockito.when(instance.lookup(_that line_, Mockito.anyVararg()))
Mockito.anyVararg()返回Object,但我需要Annotation []
这里有任何提示吗?
非常感谢!