Есть ли `не` ArgumentMatcher для окунания мокито - PullRequest
3 голосов
/ 19 февраля 2020

Я пытаюсь проверить, что метод вызывается с long, имеющим любое значение, кроме заданного.

Поэтому я хотел бы знать, есть ли ArgumentMatcher, который подходит для моего варианта использования, такой как:

verify(mObject).verifiedMethod(notEq(longValueThatShouldBeAvoided));

Я нашел этот обходной путь:

verify(mObject).method(longThat(arg -> arg != longValueThatShouldBeAvoided));

Но я нахожу странным, что такой простой ArgumentMatcher должен быть написан с нуля.


Дополнительный вопрос: как действовать при проверке нескольких значений, чтобы избежать?

Точно так же я нашел обходной путь использования arg -> arg != val0 && arg != val1 лямбда в качестве параметра ArgumentsMatcher.longThat метода для достижения этой цели.

Ответы [ 2 ]

2 голосов
/ 19 февраля 2020

попробуй:

import static org.mockito.AdditionalMatchers.not; 
import static org.mockito.ArgumentMatchers.eq;

verify(mObject).verifiedMethod(not(eq(longValueThatShouldBeAvoided)));
1 голос
/ 19 февраля 2020

Я думаю, вы можете искать "не" сопоставителя в AdditionalMatchers .

Однако я думаю, что этот вопрос более подробно рассматривается в этом другом вопросе .

...