Detail kesalahan:
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.
kode saya:
@InjectMocks
protected ItemArrangeManager arrangeManagerSpy = spy(new ItemArrangeManagerImpl());
@Mock
protected JuItemWriteService juItemWriteService;
when(arrangeManagerSpy
.updateItemAttributes(mapCaptor.capture(), eq(juId), eq(itemTO.getSellerId())))
.thenReturn(false);
Seperti yang Anda lihat, saya menelepon when
pada updateItemAttributes
(yang tidak kembalinya boolean
) tidak di updateItemAttributesByJuId
.
- Mengapa Mockito mencoba mengembalikan
boolean
dariupdateItemAttributesByJuId
? - Bagaimana ini bisa diperbaiki?
@Repository
metode Spring DAO dengan @Aspect . jika yawhen(someDao.someMethod()).thenReturn(List<xxx>)
, saya mendapat pengecualian WrongTypeOfReturnValue ini. Melalui debug, saya dapat melihat bahwasomeMethod
metode ini sebenarnya dipanggil dalam pernyataan di atas dan memicu Sekitar Advice dan mengembalikannull
tetapi Mockito mengharapkanList<xxx>
.