Fehlerdetail:
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.
Mein Code:
@InjectMocks
protected ItemArrangeManager arrangeManagerSpy = spy(new ItemArrangeManagerImpl());
@Mock
protected JuItemWriteService juItemWriteService;
when(arrangeManagerSpy
.updateItemAttributes(mapCaptor.capture(), eq(juId), eq(itemTO.getSellerId())))
.thenReturn(false);
Wie Sie sehen können, rufe ich when
an updateItemAttributes
(was a zurückgibt boolean
), nicht an updateItemAttributesByJuId
.
- Warum versucht Mockito, einen
boolean
von zurückzugebenupdateItemAttributesByJuId
? - Wie kann dies behoben werden?
@Repository
DAO-Methode mit @Aspect . Wenn ich das tuewhen(someDao.someMethod()).thenReturn(List<xxx>)
, habe ich diese WrongTypeOfReturnValue-Ausnahme. Durch das Debuggen kann ich sehen, dass diesomeMethod
Methode in der obigen Anweisung tatsächlich aufgerufen wurde und den Around Advice auslöst und anull
zurückgibt, aber Mockito erwartet aList<xxx>
.