TestNG @BeforeMethod方法,当它驻留在超类中并运行特定组时不调用
我正在尝试使用一个组来运行与我正在处理的称为“当前”的内容相关的测试子集。问题是,如果我使用超类在@BeforeMethod中执行某些设置,则该方法在我运行所有测试时运行,但当我仅使用指定的组“current”运行时,该方法不会运行。
因此,当我运行所有测试时,emptyTest 失败,因为调用了@BeforeMethod,当只运行组 current 时,不会调用该方法。注意:如果我将@Test(groups = {“current”})添加到子类中,那么它确实会运行 - 但是,它也运行所有未标有“current”的子类,这违背了“current”组的目的。
如果有更好的方法来完成此行为,我对所有解决方案都持开放态度。
谢谢,赎金
超类:
public class TestNGSuperclass {
@BeforeMethod
public void failingToShowThatItIsNotRun() {
Assert.fail();
}
}
亚纲:
@Test(groups = {"current"})
public class TestNGCurrentGroup extends TestNGSuperclass {
public void emptyTest() {}
}
TestNG Configuration:
<test name="current">
<groups>
<run>
<include name="current"/>
</run>
</groups>
<packages>
<package name="uiowa.wf.test.*"/>
</packages>
</test>
<test name="all-tests">
<packages>
<package name="uiowa.wf.test.*"/>
</packages>
</test>