TestNG依赖于OnMethods查询

时间:2014-08-12 01:04:05

标签: testng

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 TEST2

TEST1 TEST3

当运行所有测试时,如果两个或多个方法依赖于另一个相同的方法,则它只调用一次依赖方法而不是每个测试。与dependsOnGroups的情况相同。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

Testng计算开始时的所有依赖项并创建执行顺序。

dependsOnMethods只有gaurantees,依赖测试将在它所依赖的测试之后运行。它并不保证在每次依赖测试之前运行父测试。

如果你想在每次测试之前运行某些东西,那么它就是一个设置步骤,你应该使用@Before注释而不是dependsOn进行评估。例如。 @BeforeMethod将确保该方法在每个@Test之前运行。 HTH。