Package org.mockito.plugins
package org.mockito.plugins
Mockito plugins allow customization of behavior.
For example, it is useful for Android integration via dexmaker.
See examples in docs for MockMaker.
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 jars from the META-INF
directory when creating an APK.
For example :
-
Create 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
mechanism.
-
ClassDescriptionConfigures test via annotations.Enforcer that is applied to every type in the type hierarchy of the class-to-be-mocked.Static cache for types that are known to be mockable and thus may be skipped while traversing the class hierarchy.Enforcer that checks if a mock can be created given its type and other settings used in its creation.Extension to
MockMaker
for mock makers that changes inline method implementations and need keep track of created mock objects.Mockito will invoke this interface in order to fetch an instance instantiator provider.A member accessor is responsible for invoking methods, constructors and for setting and reading field values.Mockito logger.Instance of this interface is available viaMockitoFramework.getPlugins()
.The facility to create mocks.Carries the mockability informationA mock resolver offers an opportunity to resolve a mock from any instance that is provided to theMockito
-DSL.Allows switching off the plugins that are discovered on classpath.An extension point to register customStackTraceCleaner
.