Package org.junit.rules
Class ErrorCollector
- java.lang.Object
- org.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
Constructors Constructor Description ErrorCollector()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addError(Throwable error)
Adds a Throwable to the table.<T> T
checkSucceeds(Callable<T> callable)
Adds to the table the exception, if any, thrown fromcallable
.<T> void
checkThat(String reason, T value, Matcher<T> matcher)
Adds a failure with the givenreason
to the table ifmatcher
does not matchvalue
.<T> void
checkThat(T value, Matcher<T> matcher)
Adds a failure to the table ifmatcher
does not matchvalue
.protected void
verify()
Override this to add verification logic.
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.
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 ifmatcher
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 givenreason
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 fromcallable
. Execution continues, but the test will fail at the end ifcallable
threw an exception.