モッキートは以下を提供します:
when(mock.process(Matchers.any(List.class)));
代わりにprocess
a を取る場合に警告を回避する方法は?List<Bar>
Java 8以降の場合、これは簡単です。
when(mock.process(Matchers.anyList()));
Java 7以下の場合、コンパイラには少しの助けが必要です。使用anyListOf(Class<T> clazz)
:
when(mock.process(Matchers.anyListOf(Bar.class)));
上記に加えてanyListOf
、次の構文を使用していつでもジェネリックを明示的に指定できます。
when(mock.process(Matchers.<List<Bar>>any(List.class)));
Java 8 では、パラメーターに基づく型推論が新たに許可されるため、Java 8 を使用している場合は、これも同様に機能する可能性があります。
when(mock.process(Matchers.any()));
型や null のチェックを含め、どのチェックany()
も適用されないことに注意してください。anyList()
Mockito 2.x では、 「任意のFoo」any(Foo.class)
を意味するように変更されましたが、「 」を含む任意の値を意味します。instanceof
any()
null
注: 上記は、Mockito の新しいバージョンではArgumentMatchersorg.hamcrest.Matchers
に切り替えられ、 との名前の競合を回避します。古いバージョンの Mockito は、上記のように使い続ける必要がありorg.mockito.Matchers
ます。