webentwicklung-frage-antwort-db.com.de

Mockito: Überprüfung mit generischen Parametern

Mit Mockito kann ich Folgendes tun:

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

Aber wie schreibe ich das, wenn process stattdessen einen Collection<Person> Annimmt? Kann nicht herausfinden, wie man es richtig schreibt. Ich bekomme nur Syntaxfehler ...

63
Svish

Versuchen:

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

Tatsächlich schlug IntelliJ dieses Update automatisch vor, als ich any() ... eingab. In diesem Fall können Sie den statischen Import leider nicht verwenden.

107

Versuchen :

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

Seit Version 1.8 führt Mockito ein

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

wenn Sie eine eigene Methode verwenden, können Sie sogar den statischen Import verwenden:

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

Dann können Sie verwenden

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