Подтвердить что ты не робот

Mockito для int primitive

Если я использую переменную типа класса Wrapper в качестве аргумента, тестовый случай Mockito проходит, но, как написать тестовый пример Mockito для переменной типа int primitive, которая является аргументом метода в ServiceImpl.

4b9b3361

Ответ 1

У вас могут быть проблемы с any или argThat для примитивных аргументов типа when и verify. Эти объектно-ориентированные методы корректно работают с побочными эффектами, но они возвращают null для возвращаемого значения фиктивного типа, которое не работает для примитивов Java, развернутых с помощью автоматического бокса.

К счастью, класс org.mockito.ArgumentMatchers имеет полный набор примитивно-ориентированных методов (из которых я перечислил здесь методы int):

static int anyInt()
static int eq(int value)
static int intThat(org.hamcrest.ArgumentMatcher<java.lang.Integer> matcher)

Посмотрите их в документации для класса ArgumentMatchers.