我想按顺序执行测试方法。我在 testng.xml 中使用了将保留顺序设置为 true 的类。
<test name="group-test" preserve-order="true" >
<classes>
<class name="com.dependency.ClassA">
<methods>
<include name="create"/>
<include name="enter"/>
<include name="delete"/>
</methods>
</class>
</classes>
</test>
我的测试课是
public class ClassA {
@Test()
public void Create() throws Exception
{
System.out.println("in method create");
}
@Test(dependsOnMethods= "Create")
public void Enter() throws Exception
{
System.out.println("in method Enter");
}
@Test()
public void delete() throws Exception
{
System.out.println("in method delete");
}
执行测试后,我的输出
在方法创建中,
在方法删除中,
在方法中输入
但我想要的是先执行“创建”然后“输入”然后“删除”方法。这里delete是一个独立的测试方法。
我阅读了一个谷歌小组问题,其中 Cedric Beust 提到您可以使用依赖项或在 testng.xml 中明确包含测试方法。我不明白为什么这是强制执行?如果我想以我想要的任何顺序一起执行独立和依赖的测试方法怎么办?我观察到先执行独立方法,然后执行依赖方法。
理想情况下,依赖不应该是为了保持顺序,而是在前一种方法失败时跳过测试。TestNG 的这种强制措施造成了很多麻烦!