Вот моя проблема:фиктивный метод с общим типом возвращаемого с Mockito
public interface Containter extends ModelElement{
List<? extends ModelElement> getChildren();
}
Есть несколько классов, реализующих Containter, и я хочу, чтобы насмехаться над ними:
public class MockMama {
public static <T extends Containter, Y extends ModelElement> T bornContainer(Class<T> clazz, Y ... children) {
T container = mock(clazz);
when(container.getChildren()).thenReturn(Arrays.asList(children));
return container;
}
}
Но это Безразлично Не работай. Eclipse говорит: «Метод thenReturn (List) в типе OngoingStubbing> не применим для аргументов (List)». Я также попытался передать локально объявленную переменную типа List <? extends ModelElement>
на thenReturn, но это тоже не помогло.
Любая помощь очень ценится и приветствуется :)
Хорошо, это может быть исправлено путем введения дополнительных локальных переменных, таких как Список list = Arrays.asList (дети); когда (container.getChildren()). ThenReturn (list); Есть ли способ сделать это, не вызывая предупреждения типа типа? – user656449