MockitoConfiguration if using Retrofix + RxJava
What is MockitoConfiguration?
Use it to configure Mockito. For now there are not many configuration options but it may change in future. In most cases you don't really need to configure Mockito. For example in case of working with legacy code, when you might want to have different 'mocking style' this interface might be helpful. A reason of configuring Mockito might be if you disagree with the Answers.RETURNS_DEFAULTS unstubbed mocks return.
Why I need a custom MockitoConfiguration?
To wrap and return an Observable which throws RuntimeException on Mock object methods invocation which used to return Observable.
Mock object method invocation returns null as default, if we are not handling it right ( Observable stubbed) we get NullPointerException on follow-ups subscribe() call.
Create your own MockitoConfiguration
To configure Mockito create exactly
org.mockito.configuration.MockitoConfigurationclass that implements this interface.
You have to define the Mockito package in your test module. Mockito loads this class using reflection, the class would marked as unused since it's runtime available.
example:
Therefore we don't have to stub any Observable.