2012-07-06 77 views
0

由於我的設置不斷增長,我想使用TestNG的更多功能。 所以今天我試圖排除我的testng.xml文件中的一個組。排除組不適用於構造函數

當我聲明整個類是組的一部分時,這並不妨礙構造函數執行它的工作(啓動WebDriver實例)。

@Test(groups = "default") 
public class ABCDefaultTest extends AbstractABCTest { 

    public ABCDefaultTest() { 
     super(); 
    } 


} 

請注意:AbstractABCTest是「ABC」組

我想退出在課餘方法的webdriver的一部分,並加入(alwaysRun = TRUE),但沒有奏效。

看來,構造函數是不是該組(如果你在一個類中有不同的羣體,這是很好)的一部分,但@AfterClass(alwaysRun =真)標註的方法是...

但是,如果有隻有爲班級指定的小組,沒有部分小組,啓動班級權利沒有意義?

你能告訴我我做錯了什麼,或者如果這是一個錯誤?

回答

0

您的解釋是正確的,組僅適用於TestNG註釋的方法。你應該避免在構造函數中做一些你不希望發生的事情,如果一個組被排除在外。

如何在屬於該組的@ Before *方法中執行此項工作?然後,您只需確定哪種配置方法適合您:@BeforeSuite,@BeforeTest,@BeforeGroup或@BeforeClass。

+0

首先我非常感謝你通過SE回答問題。一個開發人員的偉大框架,不會隱藏在他的產品後面。 ;)我已經想到了,但構造函數從DataProvider接收不同的配置設置,所以並不那麼簡單。我喜歡DataProvider的是,我可以從一個類配置整個testrun,所以我不想失去這個選項,並通過ITestContext或@Parameter獲取參數... – 2012-07-11 06:42:01

+0

它是否像[that](http:///stackoverflow.com/a/6903037/1300626) – 2012-07-12 08:32:50