Mockito Junit Test Mock Void Method
mockito mock void method
mockito mock member setter
1
2
3
4
5
6
7
8
9
java.lang.IllegalStateException: This was not supposed to happend
at org.mockito.internal.util.reflection.GenericMetadataSupport$GenericArrayReturnType.rawType(GenericMetadataSupport.java:527)
at org.mockito.internal.stubbing.answers.InvocationInfo.isVoid(InvocationInfo.java:55)
at org.mockito.internal.stubbing.answers.Returns.validateFor(Returns.java:32)
at org.mockito.internal.stubbing.InvocationContainerImpl.addAnswer(InvocationContainerImpl.java:70)
at org.mockito.internal.stubbing.InvocationContainerImpl.addAnswer(InvocationContainerImpl.java:56)
at org.mockito.internal.stubbing.OngoingStubbingImpl.thenAnswer(OngoingStubbingImpl.java:32)
at org.mockito.internal.stubbing.BaseStubbing.thenReturn(BaseStubbing.java:35)
at PtTchMgr.report.ReportServiceTest.testCreateReport07010_1_check_logging(ReportServiceTest.java:350)
結果居然是 constructor 結果是因為雖然有 mock class instance variable, 但是最後呼叫 instance.create() 時, 都有再重新建立 instance variable, 所以根本不對!!
Still not work:
1
2
3
4
FreemarkerUtil mock = mock(FreemarkerUtil.class, Mockito.RETURNS_MOCKS);
when(mock.genQueriesDocx(any(InputStream.class), any(ByteArrayOutputStream.class), any(List.class)))
.thenReturn(new byte[]{});
super.setFreemarkerUtil(mock);
Try following search:
mockito “thenreturn” primitive type
mockito why donothing wtill execute ?
“mockito” “request.getSession().getAttribute”
This post is licensed under CC BY 4.0 by the author.