J'ai essayé de se rendre à se moquer d'une méthode avec des paramètres de vararg utilisant Mockito:Comment faire correspondre correctement varargs à Mockito
interface A {
B b(int x, int y, C... c);
}
A a = mock(A.class);
B b = mock(B.class);
when(a.b(anyInt(), anyInt(), any(C[].class))).thenReturn(b);
assertEquals(b, a.b(1, 2));
Cela ne fonctionne pas, si je fais ceci:
when(a.b(anyInt(), anyInt())).thenReturn(b);
assertEquals(b, a.b(1, 2));
Cela fonctionne, bien que j'ai complètement omis l'argument varargs lors de l'encapsulation de la méthode.
Des indices?
le fait que le dernier exemple fonctionne est plutôt trivial puisqu'il correspond au cas où les paramètres varargs zéro sont passés. – topchef