org.junit.rules
Class ErrorCollector

java.lang.Object
  extended by org.junit.rules.Verifier
      extended by org.junit.rules.ErrorCollector
All Implemented Interfaces:
MethodRule

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.
        }
 }
 


Constructor Summary
ErrorCollector()
           
 
Method Summary
 void addError(Throwable error)
          Adds a Throwable to the table.
 Object checkSucceeds(Callable<Object> callable)
          Adds to the table the exception, if any, thrown from callable.
<T> void
checkThat(T value, Matcher<T> matcher)
          Adds a failure to the table if matcher does not match value.
 
Methods inherited from class org.junit.rules.Verifier
apply
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ErrorCollector

public ErrorCollector()
Method Detail

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 match value. Execution continues, but the test will fail at the end if the match fails.


checkSucceeds

public Object checkSucceeds(Callable<Object> callable)
Adds to the table the exception, if any, thrown from callable. Execution continues, but the test will fail at the end if callable threw an exception.