web-dev-qa-db-ja.com

Mockito:汎用パラメーターで検証する

Mockitoを使用すると、次のことができます。

verify(someService).process(any(Person.class));

しかし、processCollection<Person>代わりに?正しく書く方法がわかりません。構文エラーを取得しています...

63
Svish

試してください:

_verify(someService).process(Matchers.<Collection<Person>>any());
_

実際、IntelliJはany()と入力したときにこの修正を自動的に提案しました...残念ながら、この場合は静的インポートを使用できません。

107

してみてください:

verify(someService).process(anyCollectionOf(Person.class));

バージョン 1.8 Mockitoが導入するため

public static <T> Collection<T> anyCollectionOf(Class<T> clazz);
25
seblm

独自のメソッドを使用する場合、静的インポートを使用することもできます。

private Collection<Person> anyPersonCollection() {
    return any();
}

その後、使用することができます

verify(someService).process(anyPersonCollection());
1
fxa