testng的失败重跑可以自己定义编写,比如我新建一个RetryUtils类
写入以下代码:
package org.example;
import org.testng.IRetryAnalyzer;
import org.testng.ITestResult;
public class RetryUtils implements IRetryAnalyzer{
private int retryCount = 0;
// 设定最大重跑次数
private static final int maxRetryCount = 3;
@Override
public boolean retry(ITestResult result) {
if (retryCount < maxRetryCount) {
retryCount++;
return true;
}
return false;
}
}
测试用例注解里面这样写:
package org.example;
//import static org.junit.Assert.assertTrue;
import org.testng.Assert;
import org.testng.annotations.*;
import java.util.Random;
public class AppTest
{
@Test(retryAnalyzer = RetryUtils.class)
public void test01(){
Random r = new Random();
int i = r.nextInt(3);
System.out.println("本次随机数字为" + i + ",,期望是 0");
Assert.assertEquals(i, 0);
}
}
上述测试用例正常进行,在Test注解里面,retryAnalyzer参数填写我们刚才写的那个类,这样就实现了测试用例失败重跑功能
来看执行结果,case失败,第一次重跑成功了