Когда я выполняю модульное тестирование с макетом @Service
, я замечаю, что в операторе Mockito.when()
, когда я сохраняю реальный объект, я получаю null
в качестве возврата;и я должен использовать any()
.
Итак, вместо использования:
@Mock
private BinInfoService service;
...
@Test
public void testSave() {
SomeBean bean = new SomeBean();
Mockito.when(service.saveBinInfo(bean).thenReturn(bean);
}
я должен использовать:
Mockito.when(service.saveBinInfo(Mockito.any(SomeBean.class))).thenReturn(bean);
Первая форма возвращает null
.В то время как вторая форма возвращает сохраненную сущность.
Почему?
РЕДАКТИРОВАТЬ:
Извините, на самом деле я не создаю объект как выше.Я использовал два других способа.Смотри мой ответ.