Детальна інформація про помилку:
org.mockito.exceptions.misusing.WrongTypeOfReturnValue:
Boolean cannot be returned by updateItemAttributesByJuId()
updateItemAttributesByJuId() should return ResultRich
This exception might occur in wrongly written multi-threaded tests.
Please refer to Mockito FAQ on limitations of concurrency testing.
мій код:
@InjectMocks
protected ItemArrangeManager arrangeManagerSpy = spy(new ItemArrangeManagerImpl());
@Mock
protected JuItemWriteService juItemWriteService;
when(arrangeManagerSpy
.updateItemAttributes(mapCaptor.capture(), eq(juId), eq(itemTO.getSellerId())))
.thenReturn(false);
Як ви можете бачити, я дзвоню when
на updateItemAttributes
(що робить повертають boolean
) нема на updateItemAttributesByJuId
.
- Чому Mockito намагається повертати
boolean
зupdateItemAttributesByJuId
? - Як це можна виправити?
@Repository
методу Spring DAO за допомогою @Aspect . якщо я це роблюwhen(someDao.someMethod()).thenReturn(List<xxx>)
, я отримав цей виняток WrongTypeOfReturnValue. Через налагодження я бачу, щоsomeMethod
метод насправді був викликаний у наведеному вище твердженні і запускає Around Advice та повертає a,null
але Mockito очікує aList<xxx>
.