org.junit.experimental.theories
Class Theories
java.lang.Object
org.junit.runner.Runner
org.junit.runners.ParentRunner<FrameworkMethod>
org.junit.runners.BlockJUnit4ClassRunner
org.junit.experimental.theories.Theories
- All Implemented Interfaces:
- Describable, Filterable, Sortable
public class Theories
- extends BlockJUnit4ClassRunner
| Methods inherited from class org.junit.runners.BlockJUnit4ClassRunner |
createTest, describeChild, getChildren, methodInvoker, possiblyExpectingExceptions, rules, runChild, testName, validateInstanceMethods, validateOnlyOneConstructor, validateZeroArgConstructor, withAfters, withBefores, withPotentialTimeout |
| Methods inherited from class org.junit.runners.ParentRunner |
childrenInvoker, classBlock, filter, getDescription, getName, getTestClass, run, setScheduler, sort, validatePublicVoidNoArgMethods, withAfterClasses, withBeforeClasses |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Theories
public Theories(Class<?> klass)
throws InitializationError
- Throws:
InitializationError
collectInitializationErrors
protected void collectInitializationErrors(List<Throwable> errors)
- Description copied from class:
ParentRunner
- Adds to
errors a throwable for each problem noted with the test class (available from ParentRunner.getTestClass()).
Default implementation adds an error for each method annotated with
@BeforeClass or @AfterClass that is not
public static void with no arguments.
- Overrides:
collectInitializationErrors in class BlockJUnit4ClassRunner
validateConstructor
protected void validateConstructor(List<Throwable> errors)
- Description copied from class:
BlockJUnit4ClassRunner
- Adds to
errors 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 class BlockJUnit4ClassRunner
validateTestMethods
protected void validateTestMethods(List<Throwable> errors)
- Description copied from class:
BlockJUnit4ClassRunner
- Adds to
errors for each method annotated with @Testthat
is not a public, void instance method with no arguments.
- Overrides:
validateTestMethods in class BlockJUnit4ClassRunner
computeTestMethods
protected List<FrameworkMethod> computeTestMethods()
- Description copied from class:
BlockJUnit4ClassRunner
- Returns the methods that run tests. Default implementation
returns all methods annotated with
@Test on this
class and superclasses that are not overridden.
- Overrides:
computeTestMethods in class BlockJUnit4ClassRunner
methodBlock
public Statement methodBlock(FrameworkMethod method)
- Description copied from class:
BlockJUnit4ClassRunner
- Returns a Statement that, when executed, either returns normally if
method passes, or throws an exception if method fails.
Here is an outline of the default implementation:
- Invoke
method on the result of createTest(), and
throw any exceptions thrown by either operation.
- HOWEVER, if
method's @Test annotation has the expecting attribute, return normally only if the previous step threw an
exception of the correct type, and throw an exception otherwise.
- HOWEVER, if
method's @Test annotation has the timeout attribute, throw an exception if the previous step takes more
than the specified number of milliseconds.
- ALWAYS allow
@Rule fields to modify the execution of the above
steps. A Rule may prevent all execution of the above steps, or
add additional behavior before and after, or modify thrown exceptions.
For more information, see MethodRule
- ALWAYS run all non-overridden
@Before methods on this class
and superclasses before any of the previous steps; if any throws an
Exception, stop execution and pass the exception on.
- ALWAYS run all non-overridden
@After methods on this class
and superclasses after any of the previous steps; all After methods are
always executed: exceptions thrown by previous steps are combined, if
necessary, with exceptions from After methods into a
MultipleFailureException.
This can be overridden in subclasses, either by overriding this method,
or the implementations creating each sub-statement.
- Overrides:
methodBlock in class BlockJUnit4ClassRunner