使用 mockito 模拟返回带有通配符的泛型的方法
我使用的是 mockito 1.9.5。我有以下代码:
public class ClassA {
public List<? extends MyInterface> getMyInterfaces() {
return null;
}
public static void testMock() {
List<MyInterface> interfaces = new ArrayList<>();
ClassA classAMock = mock(ClassA.class);
when(classAMock.getMyInterfaces()).thenReturn(interfaces);
}
我得到一个编译错误,因为谚语:thenReturn(interfaces)
"The method thenReturn(List<capture#1-of ? extends MyInterface>) in the type
OngoingStubbing<List<capture#1-of ? extends MyInterface>> is not applicable for the arguments
(List<MyInterface>)"
但是,当我使用mojito的方法时,我没有得到错误。谁能告诉我发生了什么事?为什么我在使用该方法时收到错误?当由第三方提供并且无法修改时,有没有其他方法可以解决此问题?thenAnswer
thenReturn
ClassA