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.
  • Field Details

  • Constructor Details

    • SandboxTestRunner

      public SandboxTestRunner​(Class<?> klass) throws org.junit.runners.model.InitializationError
      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

      protected static Injector.Builder defaultInjector()
    • findInterceptors

      @Nonnull protected Collection<Interceptor> findInterceptors()
    • getInterceptors

      @Nonnull protected Interceptors getInterceptors()
    • classBlock

      protected org.junit.runners.model.Statement classBlock​(org.junit.runner.notification.RunNotifier notifier)
      Overrides:
      classBlock in class org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
    • afterClass

      protected void afterClass()
    • getSandbox

      @Nonnull protected Sandbox getSandbox​(org.junit.runners.model.FrameworkMethod method)
    • createClassLoaderConfig

      @Nonnull protected InstrumentationConfiguration createClassLoaderConfig​(org.junit.runners.model.FrameworkMethod method)
      Create an InstrumentationConfiguration suitable for the provided FrameworkMethod.

      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

      protected void configureSandbox​(Sandbox sandbox, org.junit.runners.model.FrameworkMethod method)
    • methodBlock

      protected org.junit.runners.model.Statement methodBlock​(org.junit.runners.model.FrameworkMethod method)
      Overrides:
      methodBlock in class org.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

      @Nonnull protected Class<?>[] getExtraShadows​(org.junit.runners.model.FrameworkMethod method)
    • createClassHandler

      @Nonnull protected ClassHandler createClassHandler​(ShadowMap shadowMap, Sandbox sandbox)
    • 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:
      withPotentialTimeout in class org.junit.runners.BlockJUnit4ClassRunner
      See Also:
      BlockJUnit4ClassRunner.methodInvoker(FrameworkMethod, Object), TimeLimitedStatement