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