2017-08-09 66 views
0

我希望我的所有測試(假設100個測試,每個類1個)在幾個包中運行3次。我可以設置TestNG:全局設置invocationCount

@Test(invocationCount = SOME_CONSTANT)

但是,這仍然需要一百年的變化。有沒有辦法在單個抽象類中設置invocationCount(或其他參數),而無需將其添加到每個@Test

回答

1

建立一個註釋變壓器實現像這樣的

public class Transformer implements IAnnotationTransformer { 

    @Override 
    public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) { 
     int someNumber = 100; 
     annotation.setInvocationCount(someNumber); 
    } 
} 

你再用鐵絲在這個監聽器無論是在浴室的XML文件中使用<listener>標籤(或)通過創建服務加載文件META-INF/services/org.testng.ITestNGListener,然後添加一個條目爲Transformer進入此文件。

欲瞭解更多有關聽衆的信息,你可以看看我的this博客文章。

+0

謝謝。將研究這個並儘快回覆 – Andrejs