とジェネリック戻り値の型を持つメソッドは、私の問題です:モック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;
}
}
しかしこのdoesnの仕事はありません。 Eclipseでは "OngoingStubbing型のメソッドthenReturn(List)は引数(List)には適用されません"と表示されます。私はまた、リスト<? extends ModelElement>
型のローカル宣言された変数をthenReturnに渡そうとしましたが、これはどちらも役に立ちませんでした。
助けを歓迎します:
[OK]をクリックすると、 のような余分なローカル変数を導入することで修正できるようです。List list = Arrays.asList(children); when(container.getChildren())。then返す(リスト); 生のタイプの警告を出さずにこれを行う方法はありますか? – user656449