Если я использую переменную типа класса Wrapper в качестве аргумента, тестовый случай Mockito проходит, но, как написать тестовый пример Mockito для переменной типа int primitive, которая является аргументом метода в ServiceImpl.
Mockito для int primitive
Ответ 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.