2015-05-07 2 views
5

Как написать матчи с использованием Mockito, который соответствует любой строке, кроме определенной?Mockito: сопоставить любую строку, кроме одной

Я попытался использовать некоторые hamcrest-коннекторы, чтобы свести на нет и объединить другие матчи, но совпадения hamcrest возвращают значения типа Matcher<T>, которые не очень хорошо работают с макетами Mockito.

+1

Используй 'argThat (yourHamcrestMatcher)'. http://docs.mockito.googlecode.com/hg/org/mockito/Matchers.html –

+0

@JBNizet Я предполагаю, что это работает, потому что 'argThat (matcher())' по существу преобразует возвращаемый тип из 'Matcher ' в ' '? – Stephan

+1

@JNNizet: URL-адрес документов теперь http://site.mockito.org/mockito/docs/current/org/mockito/Matchers.html – Jmini

ответ

8

Решения, которое я использовал:

argThat(not("ExceptionString")) 

Где argThat является согласованью Mockito,
и not является Hamcrest Сличителем

6

Просто укажите, что с Mockito вы можете также использовать AdditionalMatchers

По его документация:

Пример использования логического и(), а не() или() matchers:

// ничего, но не "EJB"
mock.someMethod (не (экв ("EJB")));

Существует более подробную информация в этом другом SO question

Надеется, что это помогает

 Смежные вопросы

  • Нет связанных вопросов^_^