Могу ли я иметь несколько @BeforeMethod, которые будут работать только для групп, к которым они принадлежат?
@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>
Можно ли запустить только setup1 до Test1, Test3, в то время как только setup2 работает до Test2, Test4?
1 ответ
Решение
Вам нужно использовать @BeforeGroups, а не @BeforeMethod. BeforeMethod гарантирует, что setup1 и setup2 оба выполняются перед каждым методом. BeforeGroups будет гарантировать, что он будет работать только до того, как начнется выполнение определенной группы.