Detalhe do erro:
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.
meu código:
@InjectMocks
protected ItemArrangeManager arrangeManagerSpy = spy(new ItemArrangeManagerImpl());
@Mock
protected JuItemWriteService juItemWriteService;
when(arrangeManagerSpy
.updateItemAttributes(mapCaptor.capture(), eq(juId), eq(itemTO.getSellerId())))
.thenReturn(false);
Como você pode ver, eu estou chamando when
on updateItemAttributes
(que faz retorno a boolean
) não no updateItemAttributesByJuId
.
- Por que Mockito está tentando retornar um
boolean
deupdateItemAttributesByJuId
? - Como isso pode ser corrigido?
@Repository
métodos Spring DAO com @Aspect . se eu fizerwhen(someDao.someMethod()).thenReturn(List<xxx>)
isso, recebo essa exceção WrongTypeOfReturnValue. Através da depuração, posso ver que osomeMethod
método foi realmente chamado na instrução acima e aciona o Around Advice e retorna um,null
mas Mockito está esperando umList<xxx>
.