您能否告诉我如何使用testng识别套件执行失败的测试用例列表。我需要自动重新运行失败的测试用例。
提前致谢!
答案 0 :(得分:1)
作为执行的一部分,testng会生成一个名为testng-failed.xml
的文件,其中包含失败方法的所有详细信息。如果您只是想重新运行失败的测试,您可以找到此文件(在它位于target
文件夹下的maven项目中。
您可以执行以下操作(我假设您正在使用maven):
testng-failed.xml
文件。testng-failed.xml
位置传递到您的surefire插件中使用的Maven属性来重新运行测试。应该这样做。
另一种选择是基本构建org.testng.IRetryAnalyzer
的实现,并将其与@Test
方法绑定。如果失败,这将导致TestNG再次尝试调用@Test
方法,直到IRetryAnalyzer
实现返回false
,表明TestNG不再尝试。
这是一个样本
public class MyRetry implements IRetryAnalyzer {
private int retryCount=0;
private int maxRetryCount=1;
@Override
public boolean retry(ITestResult result) {
if (retryCount < maxRetryCount) {
retryCount++;
return true;
}
return false;
}
}
public class GitHub1241Sample {
@Test(retryAnalyzer = MyRetry.class)
public void test2() {
Assert.fail();
}
}
如果您使用重试分析器,则无需备份报告等,