Как передать тип возврата void в тестовом примере junit с помощью 'MOCKITO_CORE when' - PullRequest
0 голосов
/ 02 октября 2019

У меня есть метод JUnit, содержащий приведенное ниже утверждение, и я издеваюсь, используя 'Когда'

when(db.save(any(UserEntity.class)))

. Не могли бы вы, пожалуйста, скажите мне, как обрабатывать пустой тип возврата в приведенном выше утверждении.

это должно быть что-то вроде ниже, но не уверен.

when(db.save(any(UserEntity.class))).thenReturn(Void)

Ответы [ 2 ]

2 голосов
/ 02 октября 2019

Эта фиктивная запись не имеет значения, поскольку метод в любом случае возвращает void. Так что это всегда так.
Для void методов вы не хотите издеваться над поведением, но вы можете проверить, что метод был вызван с правильными параметрами.
Mockito.verify() может помочь здесь.
И чтобы придать больше значения операции проверки, вам следует отдать предпочтение определенному параметру, а не any:

UserEntity userEntity = ...; 
verify(db).save(userEntity);
0 голосов
/ 02 октября 2019

doNothing (), doThrow () или doAnswer () могут помочь

doNothing().when(yourObject).yourVoidMethod()
doAnswer(do-something).when(yourObject).yourVoidMethod()
...