這裏一般返回類型的方法是我的問題:模擬用的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說:「然後返回(List)類型的OngoingStubbing>方法不適用於參數(List)」。我也嘗試傳遞類型List <? extends ModelElement>
的本地聲明變量然後返回,但這也沒有幫助。
任何幫助,高度讚賞和歡迎:)
好吧,它看起來可以通過引入額外的本地變量來修復,如 List list = Arrays.asList(children); when(container.getChildren())。thenReturn(list); 有沒有辦法做到這一點,而不會導致原始類型警告? – user656449 2011-12-23 12:29:31