0

IRetryAnalyzer を使用して、失敗したテスト ケースを再実行しました。IAnnotationTransformer も TestNg リスナーとして使用しました。これで、再実行されたテスト ケースの最後のカウントのみがレポートに失敗として表示されます。以前の反復はスキップされます。レポートですべての反復が失敗したことを確認したいと思います。

以下は、2 つのクラスのコードです。

IAnnotationTransformer の場合:

package com.TestNG;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.testng.IAnnotationTransformer;
import org.testng.IRetryAnalyzer;
import org.testng.annotations.ITestAnnotation;

public class RetryListener implements IAnnotationTransformer {

@Override
public void transform(ITestAnnotation testannotation, Class testClass,
Constructor testConstructor, Method testMethod) {
IRetryAnalyzer retry = testannotation.getRetryAnalyzer();

if (retry == null)  {
testannotation.setRetryAnalyzer(Retry.class);
}
}

}

IRetryAnalyzer の場合:

package com.TestNG;

import org.testng.IRetryAnalyzer;
import org.testng.ITestResult;

public class Retry implements IRetryAnalyzer {
private int retryCount = 0;
private int maxRetryCount = 2;

@Override
public boolean retry(ITestResult result) {
if (retryCount < maxRetryCount) {
retryCount++;
return true;
}
return false;
}
}

結果: スクリーンショット

4

1 に答える 1