Interface PluginSwitch


  • public interface PluginSwitch
    Allows switching off the plugins that are discovered on classpath.

    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.

    1. The implementation itself, for example org.awesome.mockito.AwesomeMockMaker that extends the MockMaker.
    2. 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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean isEnabled​(String pluginClassName)
      Mockito invokes this method for every plugin found in the classpath (except from the PluginSwitch implementation itself).
    • Method Detail

      • isEnabled

        boolean isEnabled​(String pluginClassName)
        Mockito invokes this method for every plugin found in the classpath (except from the PluginSwitch implementation itself). If no custom plugins are discovered this method is not invoked.
        Since:
        1.10.15