1. ホーム
  2. java

[解決済み] Mockitoを使用して汎用パラメータを持つクラスをモックする

2022-03-16 06:37:22

質問

一般的なパラメータを持つクラスをモックするきれいな方法はありますか? あるクラスをモックしなければならないとします。 Foo<T> を期待するメソッドに渡す必要があります。 Foo<Bar> . 以下のように簡単にできます。

Foo mockFoo = mock(Foo.class);
when(mockFoo.getValue).thenReturn(new Bar());

仮定の話 getValue() は一般的な型である T . しかし、後でこのメソッドを Foo<Bar> . キャスティングしか手段はないのでしょうか?

どのように解決するのですか?

キャスティングは必要だと思いますが、それほどひどくはないはずです。

Foo<Bar> mockFoo = (Foo<Bar>) mock(Foo.class);
when(mockFoo.getValue()).thenReturn(new Bar());