我正在使用JUnit 4.10来运行测试套件,并且我已经实现了一个"重试失败测试"规则,遵循Matthew Farwell在如何立即重新运行失败的JUnit测试中的精彩笔记?帖子.我用以下代码创建了一个"RetryTestRule"类:
public class RetryTestRule implements TestRule {
private final int retryCount;
public RetryTestRule(int retryCount) {
this.retryCount = retryCount;
}
@Override
public Statement apply(Statement base, Description description) {
return statement(base, description);
}
private Statement statement(final Statement base, final Description description) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
Throwable caughtThrowable = null;
// retry logic
for (int i = 0; i < retryCount; i++) {
try {
base.evaluate();
return;
} catch …Run Code Online (Sandbox Code Playgroud)