I am using Powermockito, mockito with TestNG. My test class extends PowerMockTestCase. I want to mock a void method. For that I used following sample syntax,
@PrepareForTest(TestClass.class) class Sample extends PowerMockTestCase{ @BeforeClass public void beforeClass(){ TestClass obj = PowerMockito.spy(TestClass.getInstance()); PowerMockito.doNothing().when(obj).voidMethodName(Matchers.any(Type1.class), Matchers.anyString(), Matchers.any(Type2.class)); }
When I give this, I get :
FAILED CONFIGURATION: @BeforeClass beforeClass org.mockito.exceptions.misusing.UnfinishedStubbingException: Unfinished stubbing detected here: -> at org.powermock.api.mockito.internal.PowerMockitoCore.doAnswer(PowerMockitoCore.java:36) E.g. thenReturn() may be missing. Examples of correct stubbing: when(mock.isOk()).thenReturn(true); when(mock.isOk()).thenThrow(exception); doThrow(exception).when(mock).someVoidMethod(); Hints: 1. missing thenReturn() 2. you are trying to stub a final method, you naughty developer!
Can you please let me know what I am missing here?
Thanks