Testng 使用组组测试依赖项
我有一个包含两个方法的类,它们属于两个不同的组:Testng 使用组组测试依赖项,testng,Testng,我有一个包含两个方法的类,它们属于两个不同的组: package foo.bar; import org.testng.annotations.Test; public class Five { private int counter = 0; @Test(groups = {"group1"}) public void testOne() { System.out.println("Counter value in group1:" + counter
package foo.bar;
import org.testng.annotations.Test;
public class Five {
private int counter = 0;
@Test(groups = {"group1"})
public void testOne() {
System.out.println("Counter value in group1:" + counter);
}
@Test(groups = {"group2"})
public void testTwo() {
counter++;
System.out.println("Counter value in group2 :" + counter);
}
}
我创建了testng.xml文件来定义组和运行组之间的依赖关系
<suite name="Sample 1">
<test name="MySuite">
<!-- filters testOne, but since it dependsOn non existent group it fails. -->
<groups>
<dependencies>
<group name="group2" depends-on="group1"/>
</dependencies>
</groups>
<classes>
<class name="foo.bar.Five"/>
</classes>
</test>
例外是显而易见的
拥有组依赖关系的全部目的是根据属于某些其他组的其他@Test方法的执行状态,控制属于某些组的@Test方法的执行
依赖项必须具有依赖项
因此,在您的案例中,组3中必须至少存在一个@Test方法,属于组2的所有方法都依赖于该方法。如果group3中不存在方法,那么group2中的方法如何等待不存在的方法完成其执行
更多:
定义一个包含另一个组的组并不意味着方法属于group2也属于group3。它的意思是,group3的执行也将包括group2的方法。您是否将任何testmethod标记为属于group3?否。正如您所看到的,group3只不过是从group1创建的。我的两个测试都通过了他们只有system.out.println。
<suite name="Sample 1">
<test name="MySuite">
<groups>
<define name="group3">
<include name="group2"/>
</define>
<dependencies>
<group name="group2" depends-on="group3"/>
</dependencies>
</groups>
<classes>
<class name="foo.bar.Five"/>
</classes>
</test>
</suite>
DependencyMap::Method "Five.testTwo()[pri:0, instance:oracle.sysman.test.sample.Five@48ae10cd]" depends on nonexistent group "group3"
<groups>
<define name="group3">
<include name="group2"/>
</define>
...