TestNG依赖于OnMethods未按预期调用。
对于给定的代码片段:
public class Test {
@Test
public void test1() throws Exception {
System.out.println("test1");
}
@Test(dependsOnMethods="test1")
public void test2() throws Exception {
System.out.println("test2");
}
@Test(dependsOnMethods="test1")
public void test3() throws Exception {
System.out.println("test3");
}
}
输出: TEST1 TEST2 TEST3
而不是 输出: TEST1 TEST2TEST1 TEST3
当运行所有测试时,如果两个或多个方法依赖于另一个相同的方法,则它只调用一次依赖方法而不是每个测试。与dependsOnGroups的情况相同。
任何帮助将不胜感激!
答案 0 :(得分:1)
Testng计算开始时的所有依赖项并创建执行顺序。
dependsOnMethods只有gaurantees,依赖测试将在它所依赖的测试之后运行。它并不保证在每次依赖测试之前运行父测试。
如果你想在每次测试之前运行某些东西,那么它就是一个设置步骤,你应该使用@Before注释而不是dependsOn进行评估。例如。 @BeforeMethod将确保该方法在每个@Test之前运行。 HTH。