public abstract class TestWatcher implements TestRule {
public Statement apply(final Statement base, final Description description) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
starting(description);
try {
base.evaluate();
succeeded(description);
} catch (AssumptionViolatedException e) {
throw e;
} catch (Throwable t) {
failed(t, description);
throw t;
} finally {
finished(description);
}
}
};
}
https://blog.csdn.net/panhf2003/article/details/83707638
https://blog.csdn.net/huuinn/article/details/78536280 junit rule
https://blog.csdn.net/lp_cq242/article/details/80557731 junit annotations
https://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4
https://blog.csdn.net/neven7/article/details/45221685 -retry test classs
https://github.com/junit-team/junit4/wiki/Test-runners junit wiki for runners
https://www.cnblogs.com/season-xie/p/6337706.html junit retry的两种实现方式