- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用一个组来运行与我正在从事的工作相关的测试子集,称为“当前”。问题是,如果我使用父类(super class)在 @BeforeMethod 中进行一些设置,则该方法会在我运行所有测试时运行,但在我仅使用指定的“当前”组运行时不会运行。
因此,当我运行所有测试时,emptyTest 失败,因为 @BeforeMethod 被调用,而当仅运行 group current 时,该方法未被调用。注意:如果我将 @Test(groups = {"current"}) 添加到子类,那么它会运行 - 但是,它也会运行所有未标记为“current”的子类,这违背了“current”组的目的.
如果有更好的方法来完成此行为,我愿意接受所有解决方案。
谢谢,赎金
父类(super class):
public class TestNGSuperclass {
@BeforeMethod
public void failingToShowThatItIsNotRun() {
Assert.fail();
}
}
子类:
@Test(groups = {"current"})
public class TestNGCurrentGroup extends TestNGSuperclass {
public void emptyTest() {}
}
TestNG 配置:
<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>
最佳答案
您的@BeforeMethod
需要是您正在运行的组的一部分。
如果您不想硬编码您组的值并且您认为您将始终想要运行此方法,则也可以使用 @BeforeMethod(alwaysRun = true)
您当前正在运行的组。
关于java - TestNG @BeforeMethod 方法驻留在父类(super class)中并且运行特定组时未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5020260/
在我们的数据库表上,我们使用两个唯一的非聚集索引来创建跨四个字段的唯一约束。我们使用两个,因为其中一个字段 ZipCode 是一个可为空的字段。如果表中存在一条包含 ZipCode 的 null 条目
我刚刚开始学习 Rails 3 教程,以便对框架有一点熟悉,但我在生成 schema.rb 时遇到了问题。我的操作系统是 Windows 7 x64、Ruby 1.9.2、MySQL2 gem 0.2
我是一名优秀的程序员,十分优秀!