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 JUnit 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 (as opposed to
Parameterized where each test case in a test class is invoked with the exact
same set of parameters).-
Constructor Summary
Constructors Constructor Description TestParameterInjector(Class<?> testClass) -
Method Summary
Modifier and Type Method Description protected voidcollectInitializationErrors(List<Throwable> errors)protected com.google.common.collect.ImmutableList<org.junit.runners.model.FrameworkMethod>computeTestMethods()protected ObjectcreateTest()protected List<com.google.testing.junit.testparameterinjector.TestMethodProcessor>createTestMethodProcessorList()Returns the list ofTestMethodProcessors to use.protected voidfinalizeCreatedTestInstance(Object testInstance)This method is run to perform optional additional operations on the test instance, right after it was created.protected List<org.junit.rules.MethodRule>getInnerMethodRules()MethodRules that will be executed after the ones defined in the test class.protected List<org.junit.rules.TestRule>getInnerTestRules()TestRules that will be executed after the ones defined in the test class (but still before allMethodRules).protected List<org.junit.rules.MethodRule>getOuterMethodRules()MethodRules that will be executed before the ones defined in the test class (but still after allTestRules).protected List<org.junit.rules.TestRule>getOuterTestRules()TestRules that will be executed before the ones defined in the test class.protected org.junit.runners.model.StatementmethodBlock(org.junit.runners.model.FrameworkMethod method)protected org.junit.runners.model.StatementmethodInvoker(org.junit.runners.model.FrameworkMethod frameworkMethod, Object testObject)static com.google.common.collect.ImmutableList<org.junit.runner.notification.Failure>run(com.google.testing.junit.testparameterinjector.PluggableTestRunner testRunner)Runs atestClasswith thePluggableTestRunner, and returns a list of testFailure, or an empty list if no failure occurred.protected booleanshouldSortTestMethodsDeterministically()If true, all test methods (across different TestMethodProcessors) will be sorted in a deterministic way by their test name.protected voidvalidatePublicVoidNoArgMethods(Class<? extends Annotation> annotation, boolean isStatic, List<Throwable> errors)protected voidvalidateTestMethods(List<Throwable> list)protected voidvalidateZeroArgConstructor(List<Throwable> errorsReturned)Methods inherited from class org.junit.runners.BlockJUnit4ClassRunner
createTest, describeChild, getChildren, getTestRules, isIgnored, possiblyExpectingExceptions, rules, runChild, testName, validateConstructor, validateFields, validateInstanceMethods, validateNoNonStaticInnerClass, validateOnlyOneConstructor, withAfters, withBefores, withPotentialTimeout
-
Constructor Details
-
TestParameterInjector
public TestParameterInjector(Class<?> testClass) throws org.junit.runners.model.InitializationError- Throws:
org.junit.runners.model.InitializationError
-
-
Method Details
-
createTestMethodProcessorList
protected List<com.google.testing.junit.testparameterinjector.TestMethodProcessor> createTestMethodProcessorList()Returns the list ofTestMethodProcessors to use. This is meant to be overridden by subclasses. -
finalizeCreatedTestInstance
This method is run to perform optional additional operations on the test instance, right after it was created. -
shouldSortTestMethodsDeterministically
protected boolean shouldSortTestMethodsDeterministically()If true, all test methods (across different TestMethodProcessors) will be sorted in a deterministic way by their test name.Deterministic means that the order will not change, even when tests are added/removed or between releases.
-
getInnerTestRules
TestRules that will be executed after the ones defined in the test class (but still before allMethodRules). This is meant to be overridden by subclasses. -
getOuterTestRules
TestRules that will be executed before the ones defined in the test class. This is meant to be overridden by subclasses. -
getInnerMethodRules
MethodRules that will be executed after the ones defined in the test class. This is meant to be overridden by subclasses. -
getOuterMethodRules
MethodRules that will be executed before the ones defined in the test class (but still after allTestRules). This is meant to be overridden by subclasses. -
run
public static com.google.common.collect.ImmutableList<org.junit.runner.notification.Failure> run(com.google.testing.junit.testparameterinjector.PluggableTestRunner testRunner) throws ExceptionRuns atestClasswith thePluggableTestRunner, and returns a list of testFailure, or an empty list if no failure occurred.- Throws:
Exception
-
computeTestMethods
protected final com.google.common.collect.ImmutableList<org.junit.runners.model.FrameworkMethod> computeTestMethods()- Overrides:
computeTestMethodsin classorg.junit.runners.BlockJUnit4ClassRunner
-
methodBlock
protected final org.junit.runners.model.Statement methodBlock(org.junit.runners.model.FrameworkMethod method)- Overrides:
methodBlockin classorg.junit.runners.BlockJUnit4ClassRunner
-
methodInvoker
protected final org.junit.runners.model.Statement methodInvoker(org.junit.runners.model.FrameworkMethod frameworkMethod, Object testObject)- Overrides:
methodInvokerin classorg.junit.runners.BlockJUnit4ClassRunner
-
validateZeroArgConstructor
- Overrides:
validateZeroArgConstructorin classorg.junit.runners.BlockJUnit4ClassRunner
-
validateTestMethods
- Overrides:
validateTestMethodsin classorg.junit.runners.BlockJUnit4ClassRunner
-
collectInitializationErrors
- Overrides:
collectInitializationErrorsin classorg.junit.runners.BlockJUnit4ClassRunner
-
createTest
- Overrides:
createTestin classorg.junit.runners.BlockJUnit4ClassRunner- Throws:
Exception
-
validatePublicVoidNoArgMethods
protected final void validatePublicVoidNoArgMethods(Class<? extends Annotation> annotation, boolean isStatic, List<Throwable> errors)- Overrides:
validatePublicVoidNoArgMethodsin classorg.junit.runners.ParentRunner<org.junit.runners.model.FrameworkMethod>
-