public class RobolectricTestRunner extends SandboxTestRunner
Loads and runs a test in a SandboxClassLoader in order to provide a simulation of the Android runtime environment.
| Modifier and Type | Class and Description |
|---|---|
static class |
RobolectricTestRunner.DeprecatedTestRunnerDefaultConfigProvider
Deprecated.
|
static class |
RobolectricTestRunner.HelperTestRunner |
| Modifier and Type | Field and Description |
|---|---|
static String |
CONFIG_PROPERTIES |
| Modifier | Constructor and Description |
|---|---|
|
RobolectricTestRunner(Class<?> testClass)
Creates a runner to run
testClass. |
protected |
RobolectricTestRunner(Class<?> testClass,
Injector injector) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
afterClass() |
protected void |
afterTest(org.junit.runners.model.FrameworkMethod method,
Method bootstrappedMethod) |
protected void |
beforeTest(Sandbox sandbox,
org.junit.runners.model.FrameworkMethod method,
Method bootstrappedMethod) |
protected Config |
buildGlobalConfig()
Deprecated.
Provide a service implementation of
GlobalConfigProvider instead. See Migration Notes for details. This method will be removed in Robolectric 4.3. |
static AndroidManifest |
createAndroidManifest(ManifestIdentifier manifestIdentifier)
Deprecated.
Do not use.
|
protected ClassHandler |
createClassHandler(ShadowMap shadowMap,
Sandbox sandbox)
Create a
ClassHandler appropriate for the given arguments. |
protected InstrumentationConfiguration |
createClassLoaderConfig(org.junit.runners.model.FrameworkMethod method)
Create an
InstrumentationConfiguration suitable for the provided FrameworkMethod. |
Object |
createTest() |
protected static Injector.Builder |
defaultInjector() |
protected void |
finallyAfterTest(org.junit.runners.model.FrameworkMethod method) |
protected Collection<Interceptor> |
findInterceptors() |
protected Properties |
getBuildSystemApiProperties() |
protected List<org.junit.runners.model.FrameworkMethod> |
getChildren() |
Config |
getConfig(Method method)
Deprecated.
Provide an implementation of
javax.inject.Provider instead. See Migration Notes for details. This method will be removed in Robolectric 4.3. |
protected ConfigurationStrategy.Configuration |
getConfiguration(Method method)
Deprecated.
Going away before 4.2. DO NOT SHIP.
|
protected Class<?>[] |
getExtraShadows(org.junit.runners.model.FrameworkMethod frameworkMethod) |
protected SandboxTestRunner.HelperTestRunner |
getHelperTestRunner(Class bootstrappedTestClass) |
protected ManifestFactory |
getManifestFactory(Config config)
Detects which build system is in use and returns the appropriate ManifestFactory implementation.
|
protected AndroidSandbox |
getSandbox(org.junit.runners.model.FrameworkMethod method) |
protected Class<? extends TestLifecycle> |
getTestLifecycleClass()
An instance of the returned class will be created for each test invocation.
|
protected static Properties |
staticGetBuildSystemApiProperties() |
classBlock, configureSandbox, getInterceptors, methodBlock, withPotentialTimeoutcollectInitializationErrors, computeTestMethods, describeChild, getTestRules, isIgnored, methodInvoker, possiblyExpectingExceptions, rules, runChild, testName, validateConstructor, validateFields, validateInstanceMethods, validateNoNonStaticInnerClass, validateOnlyOneConstructor, validateTestMethods, validateZeroArgConstructor, withAfters, withBeforespublic static final String CONFIG_PROPERTIES
public RobolectricTestRunner(Class<?> testClass) throws org.junit.runners.model.InitializationError
Creates a runner to run testClass. Use the Config annotation to configure.
testClass - the test class to be runorg.junit.runners.model.InitializationError - if junit says soprotected static Injector.Builder defaultInjector()
@Nonnull protected ClassHandler createClassHandler(ShadowMap shadowMap, Sandbox sandbox)
Create a ClassHandler appropriate for the given arguments.
Robolectric may chose to cache the returned instance, keyed by shadowMap and sdk.
Custom TestRunner subclasses may wish to override this method to provide alternate configuration.
createClassHandler in class SandboxTestRunnershadowMap - the ShadowMap in effect for this testsandbox - the Sdk in effect for this testClassHandler. This implementation returns a ShadowWrangler.@Nonnull protected Collection<Interceptor> findInterceptors()
findInterceptors in class SandboxTestRunner@Nonnull protected InstrumentationConfiguration createClassLoaderConfig(org.junit.runners.model.FrameworkMethod method)
Create an InstrumentationConfiguration suitable for the provided FrameworkMethod.
Adds configuration for Android using AndroidConfigurer.
Custom TestRunner subclasses may wish to override this method to provide additional configuration.
createClassLoaderConfig in class SandboxTestRunnermethod - the test method that’s about to runInstrumentationConfiguration@Nonnull protected Class<? extends TestLifecycle> getTestLifecycleClass()
An instance of the returned class will be created for each test invocation.
Custom TestRunner subclasses may wish to override this method to provide alternate configuration.
TestLifecycle. This implementation returns a DefaultTestLifecycle.protected List<org.junit.runners.model.FrameworkMethod> getChildren()
getChildren in class org.junit.runners.BlockJUnit4ClassRunner@Nonnull protected AndroidSandbox getSandbox(org.junit.runners.model.FrameworkMethod method)
getSandbox in class SandboxTestRunnerprotected void beforeTest(Sandbox sandbox, org.junit.runners.model.FrameworkMethod method, Method bootstrappedMethod) throws Throwable
beforeTest in class SandboxTestRunnerThrowableprotected void afterTest(org.junit.runners.model.FrameworkMethod method,
Method bootstrappedMethod)
afterTest in class SandboxTestRunnerprotected void finallyAfterTest(org.junit.runners.model.FrameworkMethod method)
finallyAfterTest in class SandboxTestRunnerprotected SandboxTestRunner.HelperTestRunner getHelperTestRunner(Class bootstrappedTestClass)
getHelperTestRunner in class SandboxTestRunnerprotected ManifestFactory getManifestFactory(Config config)
Detects which build system is in use and returns the appropriate ManifestFactory implementation.
Custom TestRunner subclasses may wish to override this method to provide alternate configuration.
config - Specification of the SDK version, manifest file, package name, etc.protected Properties getBuildSystemApiProperties()
protected static Properties staticGetBuildSystemApiProperties()
@Deprecated public static AndroidManifest createAndroidManifest(ManifestIdentifier manifestIdentifier)
Internal use only.
@Deprecated public Config getConfig(Method method)
javax.inject.Provider instead. See Migration Notes for details. This method will be removed in Robolectric 4.3.Compute the effective Robolectric configuration for a given test method.
Configuration information is collected from package-level robolectric.properties files and Config annotations on test classes, superclasses, and methods.
Custom TestRunner subclasses may wish to override this method to provide alternate configuration.
method - the test method@Deprecated protected ConfigurationStrategy.Configuration getConfiguration(Method method)
Calculate the configuration for a given test method.
Temporarily visible for migration.
@Deprecated protected Config buildGlobalConfig()
GlobalConfigProvider instead. See Migration Notes for details. This method will be removed in Robolectric 4.3.Provides the base Robolectric configuration Config used for all tests.
Configuration provided for specific packages, test classes, and test method configurations will override values provided here.
Custom TestRunner subclasses may wish to override this method to provide alternate configuration. Consider using a Config.Builder.
The default implementation has appropriate values for most use cases.
Config object@Nonnull protected Class<?>[] getExtraShadows(org.junit.runners.model.FrameworkMethod frameworkMethod)
getExtraShadows in class SandboxTestRunnerprotected void afterClass()
afterClass in class SandboxTestRunner