排除组不适用于构造函数

问题描述:

由于我的设置不断增长,我想使用TestNG的更多功能。 所以今天我试图排除我的testng.xml文件中的一个组。排除组不适用于构造函数

当我声明整个类是组的一部分时,这并不妨碍构造函数执行它的工作(启动WebDriver实例)。

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

    public ABCDefaultTest() { 
     super(); 
    } 


} 

请注意:AbstractABCTest是“ABC”组

我想退出在课余方法的webdriver的一部分,并加入(alwaysRun = TRUE),但没有奏效。

看来,构造函数是不是该组(如果你在一个类中有不同的群体,这是很好)的一部分,但@AfterClass(alwaysRun =真)标注的方法是...

但是,如果有只有为班级指定的小组,没有部分小组,启动班级权利没有意义?

你能告诉我我做错了什么,或者如果这是一个错误?

您的解释是正确的,组仅适用于TestNG注释的方法。你应该避免在构造函数中做一些你不希望发生的事情,如果一个组被排除在外。

如何在属于该组的@ Before *方法中执行此项工作?然后,您只需确定哪种配置方法适合您:@BeforeSuite,@BeforeTest,@BeforeGroup或@BeforeClass。

+0

首先我非常感谢你通过SE回答问题。一个开发人员的伟大框架,不会隐藏在他的产品后面。 ;)我已经想到了,但构造函数从DataProvider接收不同的配置设置,所以并不那么简单。我喜欢DataProvider的是,我可以从一个类配置整个testrun,所以我不想失去这个选项,并通过ITestContext或@Parameter获取参数... – 2012-07-11 06:42:01

+0

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