我的测试invocationcount
设置为20,如果迭代4或5失败,我希望测试停止。
有什么办法吗?我只是用google搜索相同但找不到任何
答案 0 :(得分:2)
您可以使用IInvokedMethodListener。
覆盖接口的两种方法。在afterInvocation中,检查结果并可能添加到Map<method, failureCount>
在beforeInvocation中,检查failCount&gt; 4然后抛出一个SkipException,将导致其余的调用被跳过。
类似的东西:
static Map<String, Integer> methodFailCount = new HashMap<String, Integer>();
public void beforeInvocation(IInvokedMethod method, ITestResult testResult) {
if(methodFailCount.get(method.getTestMethod().getMethodName())!= null && methodFailCount.get(method.getTestMethod().getMethodName()) > 4)
throw new SkipException("Skipped due to failure count > 4");
}
public void afterInvocation(IInvokedMethod method, ITestResult testResult) {
if(testResult.getStatus() == TestResult.FAILURE){
if(methodFailCount.get(method.getTestMethod().getMethodName() ) == null)
methodFailCount.put(method.getTestMethod().getMethodName(),1);
else{
methodFailCount.put(method.getTestMethod().getMethodName(),
methodFailCount.get(method.getTestMethod().getMethodName() )+1);
}
}
}