我可以拥有多个只能为他们所属的群组运行的@ BeforeMethod吗?

时间:2013-02-13 19:40:19

标签: java automation testng qa

@BeforeMethod (groups={"a"})
public void setup1() {
    //do something
}

@BeforeMethod (groups={"b"})
public void setup2() {
    //do something else
}

@Test (groups={"a"})
public void Test1() {
    //do something
}

@Test (groups={"b"})
public void Test2() {
    //do something
}

@Test (groups={"a"})
public void Test3() {
    //do something
}

@Test (groups={"b"})
public void Test4() {
    //do something
}

虽然xml文件类似于:

<run>
    <include name="a"/>
    <include name="b"/>
</run>

是否可以在Test1,Test3之前只运行setup1,而在Test2,Test4之前只运行setup2?

1 个答案:

答案 0 :(得分:2)

您需要使用的是@BeforeGroups而不是@BeforeMethod。 BeforeMethod确保setup1和setup2都在每个方法之前运行。 BeforeGroups将确保它只在特定组开始执行之前运行。