Class RobolectricTestRunner
- All Implemented Interfaces:
org.junit.runner.Describable,org.junit.runner.manipulation.Filterable,org.junit.runner.manipulation.Orderable,org.junit.runner.manipulation.Sortable
SandboxClassLoader in order to provide a simulation of the
Android runtime environment.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classDeprecated.static classstatic classAFrameworkMethodsubclass that contains data required to run Robolectric tests. -
Field Summary
FieldsFields inherited from class org.robolectric.internal.SandboxTestRunner
classHandlerBuilder -
Constructor Summary
ConstructorsModifierConstructorDescriptionRobolectricTestRunner(Class<?> testClass) Creates a runner to runtestClass.protectedRobolectricTestRunner(Class<?> testClass, Injector injector) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected voidprotected voidbeforeTest(Sandbox sandbox, org.junit.runners.model.FrameworkMethod method, Method bootstrappedMethod) protected ConfigDeprecated.static AndroidManifestcreateAndroidManifest(ManifestIdentifier manifestIdentifier) Deprecated.Do not use.protected ClassHandlercreateClassHandler(ShadowMap shadowMap, Sandbox sandbox) Create aClassHandlerappropriate for the given arguments.protected InstrumentationConfigurationcreateClassLoaderConfig(org.junit.runners.model.FrameworkMethod method) Create anInstrumentationConfigurationsuitable for the providedFrameworkMethod.protected static Injector.Builderprotected voidfinallyAfterTest(org.junit.runners.model.FrameworkMethod method) protected Collection<Interceptor>protected Propertiesprotected List<org.junit.runners.model.FrameworkMethod>protected Class<?>[]getExtraShadows(org.junit.runners.model.FrameworkMethod frameworkMethod) protected SandboxTestRunner.HelperTestRunnergetHelperTestRunner(Class<?> bootstrappedTestClass) protected ManifestFactorygetManifestFactory(Config config) Detects which build system is in use and returns the appropriate ManifestFactory implementation.protected AndroidSandboxgetSandbox(org.junit.runners.model.FrameworkMethod method) protected Class<? extends TestLifecycle>An instance of the returned class will be created for each test invocation.protected static PropertiesMethods inherited from class org.robolectric.internal.SandboxTestRunner
classBlock, configureSandbox, getInterceptors, methodBlock, withPotentialTimeoutMethods inherited from class org.junit.runners.BlockJUnit4ClassRunner
collectInitializationErrors, computeTestMethods, createTest, describeChild, getTestRules, isIgnored, methodInvoker, possiblyExpectingExceptions, rules, runChild, testName, validateConstructor, validateFields, validateInstanceMethods, validateNoNonStaticInnerClass, validateOnlyOneConstructor, validateTestMethods, validateZeroArgConstructor, withAfters, withBeforesMethods inherited from class org.junit.runners.ParentRunner
childrenInvoker, classRules, createTestClass, filter, getDescription, getName, getRunnerAnnotations, getTestClass, order, run, runLeaf, setScheduler, sort, validatePublicVoidNoArgMethods, withAfterClasses, withBeforeClasses, withInterruptIsolationMethods inherited from class org.junit.runner.Runner
testCount
-
Field Details
-
CONFIG_PROPERTIES
- See Also:
-
-
Constructor Details
-
RobolectricTestRunner
Creates a runner to runtestClass. Use theConfigannotation to configure.- Parameters:
testClass- the test class to be run- Throws:
org.junit.runners.model.InitializationError- if junit says so
-
RobolectricTestRunner
protected RobolectricTestRunner(Class<?> testClass, Injector injector) throws org.junit.runners.model.InitializationError - Throws:
org.junit.runners.model.InitializationError
-
-
Method Details
-
defaultInjector
-
createClassHandler
Create aClassHandlerappropriate for the given arguments.Robolectric may chose to cache the returned instance, keyed by
shadowMapandsandbox.Custom TestRunner subclasses may wish to override this method to provide alternate configuration.
- Overrides:
createClassHandlerin classSandboxTestRunner- Parameters:
shadowMap- theShadowMapin effect for this testsandbox- theSdkin effect for this test- Returns:
- an appropriate
ShadowWrangler. - Since:
- 2.3
-
findInterceptors
- Overrides:
findInterceptorsin classSandboxTestRunner
-
createClassLoaderConfig
@Nonnull protected InstrumentationConfiguration createClassLoaderConfig(org.junit.runners.model.FrameworkMethod method) Create anInstrumentationConfigurationsuitable for the providedFrameworkMethod.Adds configuration for Android using
AndroidConfigurer.Custom TestRunner subclasses may wish to override this method to provide additional configuration.
- Overrides:
createClassLoaderConfigin classSandboxTestRunner- Parameters:
method- the test method that's about to run- Returns:
- an
InstrumentationConfiguration
-
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.
- Returns:
- a class which implements
TestLifecycle. This implementation returns aDefaultTestLifecycle.
-
getChildren
- Overrides:
getChildrenin classorg.junit.runners.BlockJUnit4ClassRunner
-
getSandbox
- Overrides:
getSandboxin classSandboxTestRunner
-
beforeTest
protected void beforeTest(Sandbox sandbox, org.junit.runners.model.FrameworkMethod method, Method bootstrappedMethod) throws Throwable - Overrides:
beforeTestin classSandboxTestRunner- Throws:
Throwable
-
afterTest
- Overrides:
afterTestin classSandboxTestRunner
-
finallyAfterTest
protected void finallyAfterTest(org.junit.runners.model.FrameworkMethod method) - Overrides:
finallyAfterTestin classSandboxTestRunner
-
getHelperTestRunner
protected SandboxTestRunner.HelperTestRunner getHelperTestRunner(Class<?> bootstrappedTestClass) throws org.junit.runners.model.InitializationError - Overrides:
getHelperTestRunnerin classSandboxTestRunner- Throws:
org.junit.runners.model.InitializationError
-
getManifestFactory
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.
- Parameters:
config- Specification of the SDK version, manifest file, package name, etc.
-
getBuildSystemApiProperties
-
staticGetBuildSystemApiProperties
-
createAndroidManifest
@Deprecated public static AndroidManifest createAndroidManifest(ManifestIdentifier manifestIdentifier) Deprecated.Do not use.Internal use only. -
buildGlobalConfig
Deprecated.Provide a service implementation ofGlobalConfigProviderinstead. This method will be removed in Robolectric 4.3.Provides the base Robolectric configurationConfigused 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.
- Returns:
- global
Configobject - Since:
- 3.1.3
- See Also:
-
- Migration Notes for more details.
-
getExtraShadows
@Nonnull protected Class<?>[] getExtraShadows(org.junit.runners.model.FrameworkMethod frameworkMethod) - Overrides:
getExtraShadowsin classSandboxTestRunner
-
afterClass
protected void afterClass()- Overrides:
afterClassin classSandboxTestRunner
-
createTest
- Overrides:
createTestin classorg.junit.runners.BlockJUnit4ClassRunner- Throws:
Exception
-
GlobalConfigProviderinstead.