|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.junit.runners.model.RunnerBuilder
public abstract class RunnerBuilder
A RunnerBuilder is a strategy for constructing runners for classes.
Only writers of custom runners should use RunnerBuilder
s. A custom runner class with a constructor taking
a RunnerBuilder
parameter will be passed the instance of RunnerBuilder
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))); // ... }
Suite
Constructor Summary | |
---|---|
RunnerBuilder()
|
Method Summary | |
---|---|
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 in children . |
List<Runner> |
runners(Class<?> parent,
List<Class<?>> children)
|
Runner |
safeRunnerForClass(Class<?> testClass)
Always returns a runner for the given test class. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RunnerBuilder()
Method Detail |
---|
public abstract Runner runnerForClass(Class<?> testClass) throws Throwable
testClass
- class to be run
Throwable
- if a runner cannot be constructedpublic Runner safeRunnerForClass(Class<?> testClass)
In case of an exception a runner will be returned that prints an error instead of running tests.
Note that some of the internal JUnit implementations of RunnerBuilder will return
null
from this method, but no RunnerBuilder passed to a Runner constructor will
return null
from this method.
testClass
- class to be run
public List<Runner> runners(Class<?> parent, Class<?>[] children) throws InitializationError
children
. Care is taken to avoid infinite recursion:
this builder will throw an exception if it is requested for another
runner for parent
before this call completes.
InitializationError
public List<Runner> runners(Class<?> parent, List<Class<?>> children) throws InitializationError
InitializationError
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |