我有這樣一個測試:TestNG的重試類不運行@BeforeClass也不@AfterClass方法
public class Test1 extends AbstractTest {
@Test(retryAnalyzer=Retry.class)
public void test(){
System.out.println(this.getClass().getName() + " running.");
Assert.fail();
}
}
隨着安裝和拆卸方法是這樣的:
public class AbstractTest {
@BeforeClass(alwaysRun = true)
public void setup() {
System.out.println(this.getClass().getName() + " initialized");
}
@AfterClass(alwaysRun = true)
public void tearDown(){
System.out.println(this.getClass().getName() + " complete");
}
}
而重試類像這樣的:
public class Retry implements IRetryAnalyzer {
private int retryCount = 0;
private int maxRetryCount = 1;
public boolean retry(ITestResult result) {
if (retryCount < maxRetryCount) {
retryCount++;
return true;
}
return false;
}
}
但安裝和拆卸方法沒有之前和之後的測試方法儘管已經設置了運行運行成真。這裏有一些控制檯輸出:
tests.Test1 initialized
tests.Test1 running.
tests.Test1 running.
tests.Test1 complete
這是爲什麼?每次測試重試時我如何讓它們運行?
你描述的是testng應該如何工作。你爲什麼需要它? – juherr