在JUnit 4.10中,除了@Before、@After这些标注可以在case运行前后分别执行之外,还有一种方式对于监控case运行状态更为精确——TestWatcher,看下面的例子:
父类:
package cskgnt.test;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.rules.TestName;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
public abstract class Father {
protected String caseIdentifier = "";
protected abstract void sonAfter();
@Rule
public TestName name = new TestName();
@BeforeClass
public static void fatherBeforeClass() {
System.out.println("Father: beforeClass");
}
@AfterClass
public static void fatherAfterClass() {
System.out.println("Father: afterClass");
}
@Before
public void fatherBefore() {
System.ou