Tôi đã cố gắng để giả định một phương thức với các tham số vararg bằng 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));
Điều này không hoạt động, tuy nhiên nếu tôi làm điều này thay vào đó:
when(a.b(anyInt(), anyInt())).thenReturn(b);
assertEquals(b, a.b(1, 2));
Điều này hoạt động, mặc dù tôi đã hoàn toàn bỏ qua đối số varargs khi khai thác phương thức.
Bất kì manh mối nào?