TestNG @BeforeMethod和@AfterMethod由组运行

时间:2017-04-13 16:38:00

标签: java testng

我希望每组有@beforeMethod和@AfterMethod进行设置和拆解。

我试着这样做但是它总是执行start()/ end()和start2()/ end2()。

public class DemoTest
{
    @BeforeMethod(groups = "1")
    public void start()
    {
        System.out.println("Start");
    }

    @Test(groups = "1")
    public void test1()
    {
        System.out.println("test1");
    }

    @Test(groups = "1")
    public void test2()
    {
        System.out.println("test2");
    }

    @AfterMethod(groups = "1")
    public void end()
    {
        System.out.println("End");
    }

    @BeforeMethod(groups = "2")
    public void start2()
    {
        System.out.println("Start2");
    }

    @Test(groups = "2")
    public void test12()
    {
        System.out.println("test12");
    }

    @Test(groups = "2")
    public void test22()
    {
        System.out.println("test22");
    }

    @AfterMethod(groups = "2")
    public void end2()
    {
        System.out.println("End2");
    }
}

输出:

Start
Start2
test1
End
End2
Start
Start2
test12
End
End2
Start
Start2
test2
End
End2
Start
Start2
test22
End
End2

我希望此输出为:

Start
test1
End
Start
test2
End
Start2
test12
End2
Start2
test22
End2

我不确定如何实现这个目标?需要帮助。

1 个答案:

答案 0 :(得分:2)

"我希望每个群组都有@BeforeMethod@AfterMethod进行设置和拆解。"

您想要的是@BeforeGroups@AfterGroupsFurther info.