Class TestParameterInjector

java.lang.Object
org.junit.runner.Runner
org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
org.junit.runners.BlockJUnit4ClassRunner
com.google.testing.junit.testparameterinjector.TestParameterInjector
All Implemented Interfaces:
org.junit.runner.Describable, org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Orderable, org.junit.runner.manipulation.Sortable

public final class TestParameterInjector
extends org.junit.runners.BlockJUnit4ClassRunner
A JUnit4 test runner which knows how to instantiate and run test classes where each test case may be parameterized with its own unique set of test parameters.
  • Constructor Details

    • TestParameterInjector

      public TestParameterInjector​(Class<?> testClass) throws org.junit.runners.model.InitializationError
      Throws:
      org.junit.runners.model.InitializationError
  • Method Details

    • createTestMethodProcessorList

      protected com.google.testing.junit.testparameterinjector.TestMethodProcessorList createTestMethodProcessorList()
      Returns the TestMethodProcessorList to use. This is meant to be overridden by subclasses.
    • finalizeCreatedTestInstance

      protected void finalizeCreatedTestInstance​(Object testInstance)
      This method is run to perform optional additional operations on the test instance, right after it was created.
    • shouldSortTestMethodsDeterministically

      @Deprecated protected boolean shouldSortTestMethodsDeterministically()
      Deprecated.
      If true, all test methods (across different TestMethodProcessors) will be sorted in a deterministic way.

      Deterministic means that the order will not change, even when tests are added/removed or between releases.

    • sortTestMethods

      protected Stream<org.junit.runners.model.FrameworkMethod> sortTestMethods​(Stream<org.junit.runners.model.FrameworkMethod> methods)
      Sort test methods (across different TestMethodProcessors).

      This should be deterministic. The order should not change, even when tests are added/removed or between releases.

    • getSupportedTestAnnotations

      protected com.google.common.collect.ImmutableList<Class<? extends Annotation>> getSupportedTestAnnotations()
      Returns classes used as annotations to indicate test methods.

      Defaults to Test.

    • getExtraTestRules

      protected List<org.junit.rules.TestRule> getExtraTestRules()
      TestRules that will be executed before the ones defined in the test class. This is meant to be overridden by subclasses.
    • computeTestMethods

      protected final com.google.common.collect.ImmutableList<org.junit.runners.model.FrameworkMethod> computeTestMethods()
      Overrides:
      computeTestMethods in class org.junit.runners.BlockJUnit4ClassRunner
    • methodBlock

      protected final org.junit.runners.model.Statement methodBlock​(org.junit.runners.model.FrameworkMethod method)
      Overrides:
      methodBlock in class org.junit.runners.BlockJUnit4ClassRunner
    • methodInvoker

      protected final org.junit.runners.model.Statement methodInvoker​(org.junit.runners.model.FrameworkMethod frameworkMethod, Object testObject)
      Overrides:
      methodInvoker in class org.junit.runners.BlockJUnit4ClassRunner
    • validateZeroArgConstructor

      protected final void validateZeroArgConstructor​(List<Throwable> errorsReturned)
      Overrides:
      validateZeroArgConstructor in class org.junit.runners.BlockJUnit4ClassRunner
    • validateTestMethods

      protected final void validateTestMethods​(List<Throwable> errorsReturned)
      Overrides:
      validateTestMethods in class org.junit.runners.BlockJUnit4ClassRunner
    • collectInitializationErrors

      protected final void collectInitializationErrors​(List<Throwable> errors)
      Overrides:
      collectInitializationErrors in class org.junit.runners.BlockJUnit4ClassRunner
    • createTest

      protected final Object createTest() throws Exception
      Overrides:
      createTest in class org.junit.runners.BlockJUnit4ClassRunner
      Throws:
      Exception
    • validatePublicVoidNoArgMethods

      protected final void validatePublicVoidNoArgMethods​(Class<? extends Annotation> annotation, boolean isStatic, List<Throwable> errors)
      Overrides:
      validatePublicVoidNoArgMethods in class org.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>