org.junit.rules
Class ErrorCollector
java.lang.Objectorg.junit.rules.Verifier
org.junit.rules.ErrorCollector
- All Implemented Interfaces:
- TestRule
-
public class ErrorCollector
- extends Verifier
The ErrorCollector rule allows execution of a test to continue after the first problem is found (for example, to collect _all_ the incorrect rows in a table, and report them all at once):
public static class UsesErrorCollectorTwice { @Rule public ErrorCollector collector= new ErrorCollector(); @Test public void example() { collector.addError(new Throwable("first thing went wrong")); collector.addError(new Throwable("second thing went wrong")); collector.checkThat(getResult(), not(containsString("ERROR!"))); // all lines will run, and then a combined failure logged at the end. } }
- Since:
- 4.7
Constructor Summary | |
---|---|
ErrorCollector() |
Method Summary | ||
---|---|---|
void |
addError(Throwable error) Adds a Throwable to the table. |
|
|
checkSucceeds(Callable<T> callable) Adds to the table the exception, if any, thrown from callable . |
|
|
checkThat(String reason, T value, Matcher<T> matcher) Adds a failure with the given reason to the table if matcher does not match value . |
|
|
checkThat(T value, Matcher<T> matcher) Adds a failure to the table if matcher does not match value . |
|
void |
checkThrows(Class<? extends Throwable> expectedThrowable, ThrowingRunnable runnable) Adds a failure to the table if runnable does not throw an exception of type expectedThrowable when executed. |
|
protected void |
verify() Override this to add verification logic. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
ErrorCollector
public ErrorCollector()
Method Detail |
---|
verify
protected void verify() throws Throwable
-
Description copied from class:
Verifier
-
Override this to add verification logic. Overrides should throw an exception to indicate that verification failed.
-
- Throws:
-
Throwable
addError
public void addError(Throwable error)
-
Adds a Throwable to the table. Execution continues, but the test will fail at the end.
-
checkThat
public <T> void checkThat(T value, Matcher<T> matcher)
-
Adds a failure to the table if
matcher
does not matchvalue
. Execution continues, but the test will fail at the end if the match fails. -
checkThat
public <T> void checkThat(String reason, T value, Matcher<T> matcher)
-
Adds a failure with the given
reason
to the table ifmatcher
does not matchvalue
. Execution continues, but the test will fail at the end if the match fails. -
checkSucceeds
public <T> T checkSucceeds(Callable<T> callable)
-
Adds to the table the exception, if any, thrown from
callable
. Execution continues, but the test will fail at the end ifcallable
threw an exception. -
checkThrows
public void checkThrows(Class<? extends Throwable> expectedThrowable, ThrowingRunnable runnable)
-
Adds a failure to the table if
runnable
does not throw an exception of typeexpectedThrowable
when executed. Execution continues, but the test will fail at the end if the runnable does not throw an exception, or if it throws a different exception. -
- Parameters:
-
expectedThrowable
- the expected type of the exception -
runnable
- a function that is expected to throw an exception when executed - Since:
- 4.13