Stubbing void methods
In this recipe, we will stub a void method that doesn't return a value. The trick with void methods is that Mockito assumes that they do nothing by default, so there is no need to explicitly stub them (although you may do it).
How to do it...
If you do not want your void method to execute logic, you need to perform the following steps:
Do nothing: Mockito stubs the method for you so that it does nothing.
Explicitly tell Mockito that the void method does nothing; for the BDD approach, call
BDDMockito.willNothing().given(mock).methodToStub()
, or in the standard way, callMockito.doNothing().when(mock).methodToStub()
.Regardless of the chosen approach in the
given(...)
orwhen(...)
method, you have to provide the mock object (and not the method call in the case of methods that return values).Remember that the last passed value during the stubbing will be returned for each stubbed method call. In other words, say that you stub the mock as follows (the
willThrow
answer will be...