издеваться над методом, который возвращает дженерики с подстановочными знаками, используя 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>)"

Тем не менее, когда я используюthenAnswer метод mockito, я не получаю ошибку. Кто-нибудь может сказать мне, что происходит? Почему я получаю ошибку при использованииthenReturn метод? Есть ли другой способ решить эту проблему, когдаClassA предоставляется третьей стороной и не может быть изменен?

Ответы на вопрос(2)

Ваш ответ на вопрос