Interface PluginSwitch
Mockito will invoke this interface in order to select whether a plugin is enabled or not.
When a particular plugin is switched off, the default Mockito behavior is used.
For example, if Android's dexmaker MockMaker is switched off,
Mockito default MockMaker implementation is used MockMaker
Using the extension point
The plugin mechanism of mockito works in a similar way as the ServiceLoader
, however instead of
looking in the META-INF
directory, Mockito will look in mockito-extensions
directory.
The reason for that is that Android SDK strips jar from the META-INF
directory when creating an APK.
- The implementation itself, for example
org.awesome.mockito.AwesomeMockMaker
that extends theMockMaker
. - A file "
mockito-extensions/org.mockito.plugins.MockMaker
". The content of this file is exactly a one line with the qualified name:org.awesome.mockito.AwesomeMockMaker
.
Note that if several mockito-extensions/org.mockito.plugins.MockMaker
files exists in the classpath
Mockito will only use the first returned by the standard ClassLoader.getResource(java.lang.String)
mechanism.
So just create a custom implementation of PluginSwitch
and place the qualified name in the following file
mockito-extensions/org.mockito.plugins.PluginSwitch
.
- Since:
- 1.10.15
-
Method Summary
-
Method Details
-
isEnabled
Mockito invokes this method for every plugin found in the classpath (except from thePluginSwitch
implementation itself). If no custom plugins are discovered this method is not invoked.- Since:
- 1.10.15
-