在TestNG 6.3.1~6.9.10中,我尝试在两个类之间创建依赖关系,如下所示。
class A {
@Test(groups={"GA"})
public void testA() {
}
}
class B {
@Test(groups={"GB"}, dependsOnGroups={"GA"})
public void testB() {
}
}
如果我只是在testng.xml中列出classA& B,那就可以了。
<classes>
<class name="pkg.A"></class>
<class name="pkg.B"></class>
</classes>
如果我只想挑选属于&#34; GB&#34;并期望与之前的行为相同,
<groups>
<run>
<include name="GB" />
</run>
</groups>
<classes>
<class name="pkg.A"></class>
<class name="pkg.B"></class>
</classes>
然后TestNg抱怨
DependencyMap :: Method&#34; B.testB()[pri:0,instance:pkg.B@250970c1]&#34;取决于不存在的群体&#34; GA&#34;。
为什么TestNg不识别GA组?如何在保持组依赖性的同时挑选出一些测试用例组?提前谢谢。
答案 0 :(得分:0)
TestNG dependsOn *仅用于为特定运行订购测试。
testng.xml用于选择特定运行的测试。
如果您没有指定所需的所有内容,则可以忽略dependsOn *,因为测试已经完成。
如果未指定组,则所有组均为活动组。
查看documentation了解详情。
答案 1 :(得分:0)
此行为符合TestNG设计。如果您没有提供alwaysRun=true
,TestNG会考虑硬依赖。在硬依赖的情况下,运行配置必须包括它所依赖的方法/组。请参阅dependency documentation。