Class 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 Detail

      • TestParameterInjector

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

      • 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.
      • sortTestMethods

        protected com.google.common.collect.ImmutableList<org.junit.runners.model.FrameworkMethod> sortTestMethods​(com.google.common.collect.ImmutableList<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>