エラーの詳細:
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しupdateItemAttributesています。booleanupdateItemAttributesByJuId
- なぜMockitoは返却しようとしている
booleanからupdateItemAttributesByJuId? - これをどのように修正できますか?
@RepositoryDAOメソッドをテストするときにも、この問題が発生していました。もしそうならwhen(someDao.someMethod()).thenReturn(List<xxx>)、私はこのWrongTypeOfReturnValue例外を受け取りました。デバッグを介して、someMethodメソッドが上記のステートメントで実際に呼び出され、アラウンドアドバイスをトリガーしてaを返すことnullがわかりますが、Mockitoはを期待していList<xxx>ます。