Próbowałem dostać się do mock metodę z użyciem parametrów vararg Mockito:Jak prawidłowo dopasować varargs w 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));
ten nie działa, więc jeśli mogę to zrobić w zamian:
when(a.b(anyInt(), anyInt())).thenReturn(b);
assertEquals(b, a.b(1, 2));
To działa, pomimo tego, że całkowicie pominąłem argument varargs po upuszczeniu metody.
Jakieś wskazówki?
fakt, że ostatni przykład działa, jest dość trywialny, ponieważ pasuje do przypadku, gdy parametry zera varargs przeszły. – topchef