2015-05-07 17 views
5

Wie kann ich einen Matcher mit Mockito schreiben, der mit einer beliebigen Zeichenfolge außer einer bestimmten Zeichenfolge übereinstimmt?Mockito: Entspricht einer beliebigen Zeichenfolge außer einer

Ich habe versucht, einige Hamcrest Matcher zu negieren und kombinieren andere Matcher, aber die Hamcrest Matcher alle Rückgabewerte des Typs Matcher<T>, die nicht sehr gut mit Mockito Matchers arbeiten. Ich

+1

Verwenden 'argThat (yourHamcrestMatcher)' hilft. http://docs.mockito.googlecode.com/hg/org/mockito/Matchers.html –

+0

@JBNizet ich nehme an, dass das funktioniert, weil 'argThat (matcher())' im Wesentlichen den Rückgabetyp von 'Matcher ' in ' umwandelt '? – Stephan

+1

@JNNizet: Die URL der Dokumentation ist jetzt http://site.mockito.org/mockito/docs/current/org/mockito/Matchers.html – Jmini

Antwort

8

Die verwendete Lösung:

argThat(not("ExceptionString")) 

Wo argThat ein Mockito Matcher ist,
und not ein hamcrest Matcher

6

Gerade Punkt ist, dass mit Mockito Sie auch AdditionalMatchers

können

Nach seine Dokumentation:

Beispiel unter Verwendung von logischen und(), nicht() oder() Matcher:

// alles andere als "ejb"
mock.someMethod (nicht (eq ("ejb")));

Mehr Infos gibt es in diesem anderen SO question

Hope it

Verwandte Themen