2015-05-07 19 views
5

Come posso scrivere un matcher utilizzando Mockito che corrisponde a qualsiasi stringa tranne uno specifico?Mockito: corrisponde a qualsiasi stringa tranne uno

Ho provato ad utilizzare alcuni matcher hamcrest per negare e combinare altri matcher, ma gli hamcrest matcher restituiscono valori di tipo Matcher<T> che non funzionano molto bene con i matcher Mockito.

+1

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

+0

@JBNizet presumo che funzioni perché 'argThat (matcher())' converte essenzialmente il tipo restituito da 'Matcher ' a ' '? – Stephan

+1

@JNNizet: l'URL dei documenti è ora http://site.mockito.org/mockito/docs/current/org/mockito/Matchers.html – Jmini

risposta

8

La soluzione che ho usato:

argThat(not("ExceptionString")) 

Dove argThat è un matcher Mockito,
e not è un Matcher Hamcrest

6

solo punto che con Mockito è anche possibile utilizzare AdditionalMatchers

Secondo la sua documentazione:

Esempio di utilizzo di logica e(), non è() o() matchers:

// niente ma non "ejb"
mock.someMethod (non (eq ("ejb")));

C'è più informazioni in questo altro SO question

Speranza che aiuta