Expect
soll als JUnit @Rule
verwendet werden. Sie werden im Quellcode sehen, dass die AssertionError
nach dem Test ausgelöst wird, in der rule's apply()
method. Hier ist eine vereinfachte Version von dem, was sie tut:
public void evaluate() throws Throwable {
// this invokes the test, collecting failures in gatherer
base.evaluate();
// after the test finishes the failures are collected and thrown
if (!gatherer.getMessages().isEmpty()) {
throw new AssertionError(gatherer.toString());
}
}
Es gibt eine example usage of Expect
in den Unit-Tests (was nicht der Fall ist, es zu sagen sollte nicht besser dokumentiert sein). Im Wesentlichen, fügen Sie einfach eine Zeile wie:
@Rule public final Expect expect = Expect.create();
Dann expect.that(foo)....
Behauptungen über foo
zu machen verwenden, die die Prüfung nicht bestanden schnellt nicht dazu führen, anstatt versagt, wenn der Test abgeschlossen ist.