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.
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.
org.awesome.mockito.AwesomeInstantiatorProvider2
that implements the
InstantiatorProvider2
.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
.
Modifier and Type | Method and Description |
---|---|
Instantiator |
getInstantiator(MockCreationSettings<?> settings)
Returns an instantiator, used to create new class instances.
|
Instantiator getInstantiator(MockCreationSettings<?> settings)