mockito : how to unmock a method?

user1045740 picture user1045740 · Nov 14, 2011 · Viewed 35.3k times · Source

I have a JUnit class with different methods to perform different tests.

I use Mockito to create a spy on real instance, and then override some method which is not relevant to the actual test I perform.

Is there a way, just for the sake of cleaning up after me in case some other tests that run after my tests also use the same instances and might execute a mocked method they didn't ask to mock, to un-mock a method?

say I have a spy object called 'wareHouseSpy'

say I overriden the method isSomethingMissing :

doReturn(false).when(wareHouseSpy).isSomethingMissing()

What will be the right way to un-override, and bring things back to normal on the spy i.e make the next invokation of isSomethingMissing to run the real method?

something like

doReturn(Mockito.RETURN_REAL_METHOD).when(wareHouseSpy).isSomethingSpy()

or maybe

Mockito.unmock(wareHouseSpy)

Who knows? I couldn't find nothing in that area

Thanks!

Assaf

Answer

Don Roby picture Don Roby · Nov 14, 2011

I think

Mockito.reset(wareHouseSpy)

would do it.