4
@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?

4

1 回答 1

3

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

于 2013-02-14T06:31:46.857 回答