Ich habe die folgende Situation ... Ich möchte eine Ausnahme auslösen, wann immer eine bestimmte Methode aufgerufen wird. Es ist mir egal, was in diese Methode eingeführt wird, ich möchte nur eine Ausnahme aufgerufen werden. Der Catch ist, dass diese Methode benutzerdefinierte Klassen als Parameter akzeptiert.Ist es erforderlich, benutzerdefinierte Matcher für diese Mockito-Situation zu schreiben?
Der einzige Weg, die ich gefunden habe dies mit dem folgenden zu tun ist:
// Matches any Foo
TypeSafeMatcher<Foo> fooMatcher = new TypeSafeMatcher<Foo>() {
@Override
public Boolean matchesSafely(Foo foo) {
return true;
}
// more overrides
}
doThrow(new RuntimeException("dummy exception")).when(mockObj).someMethod(fooMatcher);
ich folgende versucht zu tun, aber ich bin eine Meldung wie immer „kann nicht Objekt zu Foo konvertieren“. .. das macht Sinn:
doThrow(new RuntimeException("dummy exception")).when(mockObj).someMethod(anyObject());
ich frage mich, ob es ein einfacherer Weg, dies zu tun, ohne einen benutzerdefinierten Matcher für jede benutzerdefinierte Klasse erstellen zu müssen?
Dank