오류 세부 정보 :
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
on이 아닌 ( updateItemAttributes
a를 반환하는 boolean
) 호출 하고 updateItemAttributesByJuId
있습니다.
- Mockito가
boolean
에서 를 반환하려고하는 이유는 무엇updateItemAttributesByJuId
입니까? - 이 문제를 어떻게 해결할 수 있습니까?
@Repository
DAO 메서드를 테스트 할 때도이 문제가 발생했습니다 . 그렇게하면when(someDao.someMethod()).thenReturn(List<xxx>)
이 WrongTypeOfReturnValue 예외가 발생합니다. 디버그를 통해someMethod
메서드가 실제로 위의 문에서 호출되고 Around Advice를 트리거하고 A를 반환null
하지만 Mockito는List<xxx>
.