Package org.junit.runners.model
Class RunnerBuilder
- java.lang.Object
- org.junit.runners.model.RunnerBuilder
public abstract class RunnerBuilder extends Object
A RunnerBuilder is a strategy for constructing runners for classes. Only writers of custom runners should useRunnerBuilder
s. A custom runner class with a constructor taking aRunnerBuilder
parameter will be passed the instance ofRunnerBuilder
used to build that runner itself. For example, imagine a custom runner that builds suites based on a list of classes in a text file:\@RunWith(TextFileSuite.class) \@SuiteSpecFile("mysuite.txt") class MySuite {}
The implementation of TextFileSuite might include:public TextFileSuite(Class testClass, RunnerBuilder builder) { // ... for (String className : readClassNames()) addRunner(builder.runnerForClass(Class.forName(className))); // ... }
- Since:
- 4.5
- See Also:
Suite
Constructor Summary
Constructors Constructor Description RunnerBuilder()
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Runner
runnerForClass(Class<?> testClass)
Override to calculate the correct runner for a test class at runtime.List<Runner>
runners(Class<?> parent, Class<?>[] children)
Constructs and returns a list of Runners, one for each child class inchildren
.List<Runner>
runners(Class<?> parent, List<Class<?>> children)
Runner
safeRunnerForClass(Class<?> testClass)
Always returns a runner, even if it is just one that prints an error instead of running tests.
Constructor Detail
RunnerBuilder
public RunnerBuilder()
Method Detail
runnerForClass
public abstract Runner runnerForClass(Class<?> testClass) throws Throwable
Override to calculate the correct runner for a test class at runtime.- Parameters:
testClass
- class to be run- Returns:
- a Runner
- Throws:
Throwable
- if a runner cannot be constructed
safeRunnerForClass
public Runner safeRunnerForClass(Class<?> testClass)
Always returns a runner, even if it is just one that prints an error instead of running tests.- Parameters:
testClass
- class to be run- Returns:
- a Runner
runners
public List<Runner> runners(Class<?> parent, Class<?>[] children) throws InitializationError
Constructs and returns a list of Runners, one for each child class inchildren
. Care is taken to avoid infinite recursion: this builder will throw an exception if it is requested for another runner forparent
before this call completes.- Throws:
InitializationError
runners
public List<Runner> runners(Class<?> parent, List<Class<?>> children) throws InitializationError
- Throws:
InitializationError