我以编程方式创建TestNG.xml并并行运行测试。
问题是: - 我需要在Test1之后运行Test2
我尝试通过将Test1分配给一个组然后让Test2依赖于Test1的组来使用'dependsOnGroup'。 但是当我运行测试套件时,只有Test1会被执行,Test2将被跳过。 没有报告错误。
@Test(groups = {"FirstTest"})
public class Test1 {
public void hello(){
syso("Test1");
}
}
@Test(groups = {"SecondTest"}, dependsOnGroups= {"FirstTest"}, alwaysRun=true)
public class Test2 {
public void hi(){
syso("Test2");
}
}
我正在使用TestNG.6.9.6.jar
答案 0 :(得分:1)
添加优先级可以满足您的需求。 @Test(priority=1)
。较低的优先级将首先执行。
@Test(priority=1)
public class Test1 {
public void hello(){
syso("Test1");
}
}
@Test(priority=2)
public class Test2 {
public void hi(){
syso("Test2");
}
}
首先运行Test1,然后运行Test2。因此,无论您在测试套件中放置哪个类,它都会考虑所有测试函数的优先级。
应该以较简单的方式为你做需要。
我希望它有所帮助。 :)
答案 1 :(得分:0)
您还可以使用dependsOnMethods()
方法代替dependsOnGroup()
。