2016-07-28 4 views
0

を実行するために発生します再実行TestNGのテストでは、私はこのようなテストを持っているテストは永遠

public class Test1 extends AbstractTest{ 
@Test(retryAnalyzer=Retry.class) 
public void test(){ 
    System.out.println(this.getClass().getName() + " running"); 
    Assert.fail(); 
} 

私はこのような再試行クラスを持っている:私は、テストを実行すると

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

    public boolean retry(ITestResult result) { 
     if (retryCount < maxRetryCount) { 
      System.out.println("Retrying test " 
           + result.getName() + " with status " 
           + getResultStatusName(result.getStatus()) 
           + " for the " + (retryCount+1) + " time(s)."); 
      retryCount++; 
      return true; 
     } 
     return false; 
    } 

    public String getResultStatusName(int status) { 
     String resultName = null; 
     if(status==1) 
      resultName = "SUCCESS"; 
     if(status==2) 
      resultName = "FAILURE"; 
     if(status==3) 
      resultName = "SKIP"; 
     return resultName; 
    } 
} 

、それは無限に繰り返され、コンソール出力としてこれを与える:

tests.Test1 running 
Retrying test test with status FAILURE for the 1 time(s). 
tests.Test1 running 
Retrying test test with status FAILURE for the 2 time(s). 
Retrying test test with status FAILURE for the 3 time(s). 
tests.Test1 running 
tests.Test1 running 
tests.Test1 running 
tests.Test1 running 
tests.Test1 running 
tests.Test1 running 
tests.Test1 running 
tests.Test1 running 

などなど...

2回目の実行に失敗するのはなぜですか?なぜそれは無期限に実行されますか?どのように私はそれが3回まで、または多くの場合、私はMaxRetryCountを設定して再試行し、実行の望ましい動作をさせることができますか?

+0

どのバージョンを使用していますか?最新のバージョンを試してみてください:https://github.com/cbeust/testng/blob/master/src/test/java/test/retryAnalyzer/RetryAnalyzerTest.java – juherr

+0

6.8.21がバージョンです。私はそれ以降のバージョンを確認します。 – item5

+0

これは機能しました。これを答えると、私はそれを受け入れるとマークします。どうもありがとう。 – item5

答えて

関連する問題