Package org.robolectric.pluginapi
Extension points for customizing Robolectric.
Robolectric has many components which can be customized or replaced using an extension
mechanism based on Java Services
.
Historically, customizing Robolectric required subclassing RobolectricTestRunner
to override behavior at various ad-hoc extension points.
This mechanism is now deprecated. The Plugin API provides a number of well documented and
supported extension points allowing you to customize behavior for your organization's needs.
The interfaces listed below can be implemented with customizations suitable for your organization. To make your custom implementation visible to Robolectric, publish it as a service and include it in the test classpath.
Extension points:
ConfigurationStrategy
(defaultHierarchicalConfigurationStrategy
)DependencyResolver
(defaultLegacyDependencyResolver
GlobalConfigProvider
(no default)PerfStatsReporter
(no default)SdkPicker
(defaultDefaultSdkPicker
)SdkProvider
(defaultDefaultSdkProvider
)
- See Also:
- Google AutoService for a helpful way to define Java Services.
-
Interface Summary Interface Description NativeRuntimeLoader Loads the Robolectric native runtime.SdkPicker SdkProvider A provider of known instances ofSdk
.TestEnvironmentLifecyclePlugin Plugin which allows behaviour extension in TestEnvironment.UsesSdk Represents the contents of auses-sdk
element in an Android manifest file. -
Class Summary Class Description Sdk Represents a unique build of the Android SDK. -
Annotation Types Summary Annotation Type Description ExtensionPoint Marks a component of Robolectric that may be replaced with a custom implementation.