私は Mockito を使用するテスト ケースを作成しており、任意のオブジェクト (私の場合は) を返すjava.beans.PropertyDescriptor
動作をモックしたいと考えています。通常、次のように呼び出すだけでそれを行います。getPropertyType()
Class<?>
String.class
// we already did an "import static org.mockito.Mockito.*"
when(mockDescriptor.getPropertyType()).thenReturn(String.class);
ただし、奇妙なことに、これはコンパイルされません。
cannot find symbol method thenReturn(java.lang.Class<java.lang.String>)
しかし、推論に依存する代わりに型パラメーターを指定すると、次のようになります。
Mockito.<Class<?>>when(mockDescriptor.getPropertyType()).thenReturn(String.class);
すべてがハンキードーリーです。この場合、コンパイラが when() の戻り値の型を正しく推測できないのはなぜですか? そのようにパラメータを指定する必要はありませんでした。