在监听onFinish方法中执行
// 去除失败的重复用例统计
private void removRetrySkippedTests (ITestContext context) {
Iterator<ITestResult> itestResult = context.getSkippedTests().getAllResults().iterator();
while (itestResult.hasNext()) {
ITestResult result = itestResult.next();
ITestNGMethod skippedMethod = result.getMethod();
// 如果跳过的测试方法在跳过测试结果中出现的次数大于 1
if (context.getSkippedTests().getResults(skippedMethod).size() > 1) {
itestResult.remove(); // 移除那些已经通过的测试方法的跳过结果
} else if (context.getPassedTests().getResults(skippedMethod).size() > 0) {
itestResult.remove(); // 移除那些已经失败的测试方法的跳过结果
}else if(context.getFailedTests().getResults(skippedMethod).size() > 0){
itestResult.remove();
}
}
}