Interface InstantiatorProvider2


public interface InstantiatorProvider2

Mockito will invoke this interface in order to fetch an instance instantiator provider.

By default, an internal byte-buddy/asm/objenesis based implementation is used.

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.AwesomeInstantiatorProvider2 that implements the InstantiatorProvider2.
  2. A file "mockito-extensions/org.mockito.plugins.InstantiatorProvider2". The content of this file is exactly a one line with the qualified name: org.awesome.mockito.AwesomeInstantiatorProvider.

Note that if several mockito-extensions/org.mockito.plugins.InstantiatorProvider2 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 InstantiatorProvider2 and place the qualified name in the following file mockito-extensions/org.mockito.plugins.InstantiatorProvider2.

Since:
2.15.4
  • Method Details