最佳答案
我一直试图用 Mockito 模拟一个具有 vararg 参数的方法:
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));
这样不行,但是如果我这样做:
when(a.b(anyInt(), anyInt())).thenReturn(b);
assertEquals(b, a.b(1, 2));
这是可行的,尽管我在存根化该方法时完全忽略了 varargs 参数。
有线索吗?