TestRule#apply isTest isSuite Description, , Statement TestRule.
, , , before, after, verify, beforeClass, afterClass, verifyClass:
public interface CombinedRule extends TestRule {
default Statement apply(Statement base, Description description) {
if (description.isTest()) {
return new Statement() {
public void evaluate() throws Throwable {
before();
try {
base.evaluate();
verify();
} finally {
after();
}
}
};
}
if (description.isSuite()) {
return new Statement() {
public void evaluate() throws Throwable {
beforeClass();
try {
base.evaluate();
verifyClass();
} finally {
afterClass();
}
}
};
}
return base;
}
default void before() throws Exception {
}
default void after() {
}
default void verify() {
}
default void beforeClass() throws Exception {
before();
}
default void afterClass() {
after();
}
default void verifyClass() {
verify();
}
}