Попытка выяснить, как написать собственный сопоставитель для примитивного значения. Скажем, у меня есть следующий пользовательский сопоставитель:
class IsEven extends ArgumentMatcher<Integer> {
public boolean matches(Object i) {
return ((Integer) i) % 2 == 0;
}
}
И я запускаю следующий тест. mocked - это уже смоделированный экземпляр класса, у которого есть метод someMethod:
@Test
public void primatives() {
mocked.someMethod(2);
ArgumentMatcher<Integer> customMatcher = new IsEven();
// ! Throws NPE !
Mockito.verify(mocked).someMethod(Mockito.argThat(customMatcher));
}
Причиной исключения NullPointerException является то, что метод Mockio.argThat всегда возвращает значение null, которое, как я предполагаю, не может быть автоматически помещено обратно в целое число.
Мне кажется, что этот случай будет обычным делом - какой-нибудь совет?
Спасибо,
Рой