Как запустить несколько методов в классе, прежде чем запускать методы в другом классе при параллельном выполнении - PullRequest
0 голосов
/ 11 февраля 2019

Я столкнулся со следующей проблемой: я создал два класса, которые включают @Tests с атрибутом priority:

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

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

@Test( priority = 3 )
public void testA3() {
    System.out.println("testA3");
}

... и ...

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

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

@Test( priority = 3 )
public void testB3() {
    System.out.println("testB3");
}

Iпоместите оба класса в один тест в testng.xml, но при запуске теста они будут упорядочивать мои @Tests на основе приоритетов обоих классов:

testA1 testB1 testA2 testB2 testA3 testB3 Я ожидаю следующий результат:

testA1 testA2 testA3 testB1 testB2 testB3 Мой вопрос заключается в том, как я могу запретить упорядочивать мои @Tests на основе обоих классов и запускать @Tests только из одного класса одновременно?

1 Ответ

0 голосов
/ 22 марта 2019

вы можете поместить методы в ClassExample1 в группу, а затем использовать зависимостьOnGroup, например:

public class classExample1 {
@Test(groups = GROUP_EXAMPLE)
public void testEx1() {
     System.out.println("testEx1");
}
}

public class classExample2 {
@Test
public void testEx2(dependsOnGroups = GROUP_EXAMPLE) {
     System.out.println("testEx2");
}
}

Таким образом, testEx1 всегда будет выполняться перед testEx2.И вы можете использовать приоритет, чтобы гранулировать ваши результаты еще больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...