Java ジェネリックに関する小さなヒント
以下に示すように、ArgumentCaptor を使用してモック メソッドのパラメーターをキャプチャします
ArgumentCaptor<List<Foo>> fooCaptor = ArgumentCaptor.forClass(List.class);
エラー報告
Error:(89, 86) java: incompatible types: org.mockito.ArgumentCaptor<java.util.List> cannot be converted to org.mockito.ArgumentCaptor<java.util.List<com.myapp.model.Foo>>
解決策
上位バージョンの Mockito を使用する--mockito-core-2.0.36-beta
コード比較
mockito-core-1.0.19
public static <T> ArgumentCaptor<T> forClass(Class<T> clazz) { return new ArgumentCaptor<T>(clazz); }
mockito-core-2.0.36-beta
public static <U,S extends U> ArgumentCaptor<U> forClass(Class<S> clazz) { return new ArgumentCaptor<U>(clazz); }