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 Detail

      • getInstantiator

        Instantiator getInstantiator​(MockCreationSettings<?> settings)
        Returns an instantiator, used to create new class instances.
        Since:
        2.15.4