Détail de l'erreur:
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.
mon code:
@InjectMocks
protected ItemArrangeManager arrangeManagerSpy = spy(new ItemArrangeManagerImpl());
@Mock
protected JuItemWriteService juItemWriteService;
when(arrangeManagerSpy
.updateItemAttributes(mapCaptor.capture(), eq(juId), eq(itemTO.getSellerId())))
.thenReturn(false);
Comme vous pouvez le voir, j'appelle when
sur updateItemAttributes
(ce qui renvoie a boolean
) pas sur updateItemAttributesByJuId
.
- Pourquoi Mockito tente-t-il de renvoyer un
boolean
deupdateItemAttributesByJuId
? - Comment cela peut-il être rectifié?
@Repository
méthode Spring DAO avec @Aspect . si je le faiswhen(someDao.someMethod()).thenReturn(List<xxx>)
, j'ai cette exception WrongTypeOfReturnValue. Grâce au débogage, je peux voir que lasomeMethod
méthode est en fait appelée dans l'instruction ci-dessus et déclenche le conseil Around et renvoie unnull
mais Mockito attend unList<xxx>
.