Package org.robolectric.internal
Class SandboxTestRunner
java.lang.Object
org.junit.runner.Runner
org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
org.junit.runners.BlockJUnit4ClassRunner
org.robolectric.internal.SandboxTestRunner
- All Implemented Interfaces:
org.junit.runner.Describable,org.junit.runner.manipulation.Filterable,org.junit.runner.manipulation.Orderable,org.junit.runner.manipulation.Sortable
- Direct Known Subclasses:
RobolectricTestRunner
public class SandboxTestRunner
extends org.junit.runners.BlockJUnit4ClassRunner
Sandbox test runner that runs each test in a sandboxed class loader environment. Typically this
runner should not be directly accessed, use
RobolectricTestRunner
instead.-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classSandboxTestRunner.HelperTestRunner -
Field Summary
Fields Modifier and Type Field Description protected ClassHandlerBuilderclassHandlerBuilder -
Constructor Summary
Constructors Constructor Description SandboxTestRunner(Class<?> klass)SandboxTestRunner(Class<?> klass, Injector injector) -
Method Summary
Modifier and Type Method Description protected voidafterClass()protected voidafterTest(org.junit.runners.model.FrameworkMethod method, Method bootstrappedMethod)protected voidbeforeTest(Sandbox sandbox, org.junit.runners.model.FrameworkMethod method, Method bootstrappedMethod)protected org.junit.runners.model.StatementclassBlock(org.junit.runner.notification.RunNotifier notifier)protected voidconfigureSandbox(Sandbox sandbox, org.junit.runners.model.FrameworkMethod method)protected ClassHandlercreateClassHandler(ShadowMap shadowMap, Sandbox sandbox)protected InstrumentationConfigurationcreateClassLoaderConfig(org.junit.runners.model.FrameworkMethod method)Create anInstrumentationConfigurationsuitable for the providedFrameworkMethod.protected static Injector.BuilderdefaultInjector()protected voidfinallyAfterTest(org.junit.runners.model.FrameworkMethod method)protected Collection<Interceptor>findInterceptors()protected Class<?>[]getExtraShadows(org.junit.runners.model.FrameworkMethod method)protected SandboxTestRunner.HelperTestRunnergetHelperTestRunner(Class<?> bootstrappedTestClass)protected InterceptorsgetInterceptors()protected SandboxgetSandbox(org.junit.runners.model.FrameworkMethod method)protected org.junit.runners.model.StatementmethodBlock(org.junit.runners.model.FrameworkMethod method)protected org.junit.runners.model.StatementwithPotentialTimeout(org.junit.runners.model.FrameworkMethod method, Object test, org.junit.runners.model.Statement next)Disables JUnit's normal timeout mode strategy.Methods inherited from class org.junit.runners.BlockJUnit4ClassRunner
collectInitializationErrors, computeTestMethods, createTest, createTest, describeChild, getChildren, 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, withInterruptIsolation
-
Field Details
-
Constructor Details
-
SandboxTestRunner
- Throws:
org.junit.runners.model.InitializationError
-
SandboxTestRunner
public SandboxTestRunner(Class<?> klass, Injector injector) throws org.junit.runners.model.InitializationError- Throws:
org.junit.runners.model.InitializationError
-
-
Method Details
-
defaultInjector
-
findInterceptors
-
getInterceptors
-
classBlock
protected org.junit.runners.model.Statement classBlock(org.junit.runner.notification.RunNotifier notifier)- Overrides:
classBlockin classorg.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
-
afterClass
protected void afterClass() -
getSandbox
-
createClassLoaderConfig
@Nonnull protected InstrumentationConfiguration createClassLoaderConfig(org.junit.runners.model.FrameworkMethod method)Create anInstrumentationConfigurationsuitable for the providedFrameworkMethod.Custom TestRunner subclasses may wish to override this method to provide alternate configuration.
- Parameters:
method- the test method that's about to run- Returns:
- an
InstrumentationConfiguration
-
configureSandbox
-
methodBlock
protected org.junit.runners.model.Statement methodBlock(org.junit.runners.model.FrameworkMethod method)- Overrides:
methodBlockin classorg.junit.runners.BlockJUnit4ClassRunner
-
beforeTest
protected void beforeTest(Sandbox sandbox, org.junit.runners.model.FrameworkMethod method, Method bootstrappedMethod) throws Throwable- Throws:
Throwable
-
afterTest
protected void afterTest(org.junit.runners.model.FrameworkMethod method, Method bootstrappedMethod) -
finallyAfterTest
protected void finallyAfterTest(org.junit.runners.model.FrameworkMethod method) -
getHelperTestRunner
protected SandboxTestRunner.HelperTestRunner getHelperTestRunner(Class<?> bootstrappedTestClass) throws org.junit.runners.model.InitializationError- Throws:
org.junit.runners.model.InitializationError
-
getExtraShadows
-
createClassHandler
-
withPotentialTimeout
protected org.junit.runners.model.Statement withPotentialTimeout(org.junit.runners.model.FrameworkMethod method, Object test, org.junit.runners.model.Statement next)Disables JUnit's normal timeout mode strategy.- Overrides:
withPotentialTimeoutin classorg.junit.runners.BlockJUnit4ClassRunner- See Also:
BlockJUnit4ClassRunner.methodInvoker(FrameworkMethod, Object),TimeLimitedStatement
-