Package org.junit.runners.parameterized
Class BlockJUnit4ClassRunnerWithParameters
- java.lang.Object
- org.junit.runner.Runner
- org.junit.runners.ParentRunner<FrameworkMethod>
- org.junit.runners.BlockJUnit4ClassRunner
- org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters
- All Implemented Interfaces:
Describable
,Filterable
,Sortable
public class BlockJUnit4ClassRunnerWithParameters extends BlockJUnit4ClassRunner
ABlockJUnit4ClassRunner
with parameters support. Parameters can be injected via constructor or into annotated fields.
Constructor Summary
Constructors Constructor Description BlockJUnit4ClassRunnerWithParameters(TestWithParameters test)
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Statement
classBlock(RunNotifier notifier)
Constructs aStatement
to run all of the tests in the test class.Object
createTest()
Returns a new fixture for running a test.protected String
getName()
Returns a name used to describe this Runnerprotected Annotation[]
getRunnerAnnotations()
protected String
testName(FrameworkMethod method)
Returns the name that describesmethod
forDescription
s.protected void
validateConstructor(List<Throwable> errors)
Adds toerrors
if the test class has more than one constructor, or if the constructor takes parameters.protected void
validateFields(List<Throwable> errors)
Methods inherited from class org.junit.runners.BlockJUnit4ClassRunner
collectInitializationErrors, computeTestMethods, describeChild, getChildren, getTestRules, isIgnored, methodBlock, methodInvoker, possiblyExpectingExceptions, rules, runChild, validateInstanceMethods, validateNoNonStaticInnerClass, validateOnlyOneConstructor, validateTestMethods, validateZeroArgConstructor, withAfters, withBefores, withPotentialTimeout
Methods inherited from class org.junit.runners.ParentRunner
childrenInvoker, classRules, createTestClass, filter, getDescription, getTestClass, run, runLeaf, setScheduler, sort, validatePublicVoidNoArgMethods, withAfterClasses, withBeforeClasses
Constructor Detail
BlockJUnit4ClassRunnerWithParameters
public BlockJUnit4ClassRunnerWithParameters(TestWithParameters test) throws InitializationError
- Throws:
InitializationError
Method Detail
createTest
public Object createTest() throws Exception
Description copied from class:BlockJUnit4ClassRunner
Returns a new fixture for running a test. Default implementation executes the test class's no-argument constructor (validation should have ensured one exists).- Overrides:
createTest
in classBlockJUnit4ClassRunner
- Throws:
Exception
getName
protected String getName()
Description copied from class:ParentRunner
Returns a name used to describe this Runner- Overrides:
getName
in classParentRunner<FrameworkMethod>
testName
protected String testName(FrameworkMethod method)
Description copied from class:BlockJUnit4ClassRunner
Returns the name that describesmethod
forDescription
s. Default implementation is the method's name- Overrides:
testName
in classBlockJUnit4ClassRunner
validateConstructor
protected void validateConstructor(List<Throwable> errors)
Description copied from class:BlockJUnit4ClassRunner
Adds toerrors
if the test class has more than one constructor, or if the constructor takes parameters. Override if a subclass requires different validation rules.- Overrides:
validateConstructor
in classBlockJUnit4ClassRunner
validateFields
protected void validateFields(List<Throwable> errors)
- Overrides:
validateFields
in classBlockJUnit4ClassRunner
classBlock
protected Statement classBlock(RunNotifier notifier)
Description copied from class:ParentRunner
Constructs aStatement
to run all of the tests in the test class. Override to add pre-/post-processing. Here is an outline of the implementation:- Determine the children to be run using
ParentRunner.getChildren()
(subject to any imposed filter and sort). - If there are any children remaining after filtering and ignoring, construct a statement that will:
- Apply all
ClassRule
s on the test-class and superclasses. - Run all non-overridden
@BeforeClass
methods on the test-class and superclasses; if any throws an Exception, stop execution and pass the exception on. - Run all remaining tests on the test-class.
- Run all non-overridden
@AfterClass
methods on the test-class and superclasses: exceptions thrown by previous steps are combined, if necessary, with exceptions from AfterClass methods into aMultipleFailureException
.
- Apply all
- Overrides:
classBlock
in classParentRunner<FrameworkMethod>
- Returns:
Statement
- Determine the children to be run using
getRunnerAnnotations
protected Annotation[] getRunnerAnnotations()
- Overrides:
getRunnerAnnotations
in classParentRunner<FrameworkMethod>
- Returns:
- the annotations that should be attached to this runner's description.