У меня есть 2 класса.Проблема TestNG при параллельном выполнении и с «приоритетом»
Класс 1:
@Test
public void test1(){
System.out.println("test1-1");
}
@Test(priority = 1)
public void test2(){
System.out.println("test2-1");
}
@Test(priority = 6)
public void test3(){
System.out.println("test3-1");
}
@Test(priority = 9)
public void test4(){
System.out.println("test4-1");
}
Класс 2:
@Test
public void test1(){
System.out.println("test1-2");
}
@Test(priority = 1)
public void test2(){
System.out.println("test2-2");
}
@Test(priority = 2)
public void test3(){
System.out.println("test3-2");
}
@Test(priority = 3)
public void test4(){
System.out.println("test4-2");
}
XML:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Smoke" verbose="1" parallel="tests" thread-count="5" >
<test name="GalaxyS7">
<classes>
<class name="TempTest.ClassTest1"/>
<class name="TempTest.ClassTest2"/>
</classes>
</test>
</suite>
И когда я выполнить тест ожидать выход ред является:
test1-1
test2-1
test3-1
test4-1
test1-2
test2-2
test3-2
test4-2
Но фактический объем производства:
test1-1
test1-2
test2-1
test2-2
test3-2
test4-2
test3-1
test4-1
Но когда я удаление parallel="tests"
, выполнение как и ожидалось. Когда я удаляю приоритеты, но parallel="tests"
остается в XML-исполнении, как ожидалось. Но я пытаюсь параллельно запускать свои тесты и иметь там приоритеты.
Это ошибка в TestNG или мне что-то не хватает?
Любая помощь приветствуется. Моя цель - запустить все тестовые примеры из первого класса, а затем из второго класса.
Из моего опыта «приоритеты» должны работать для каждого тестового случая. И они работали раньше, а не в параллельном режиме. Я нашел, как разрешить его с помощью 'group-by-instance =" true "'. Но все же, когда я добавляю 'preserve-order =" true ", он ничего не делает –
Итак, посмотрев на [documentation] (http://testng.org/doc/documentation-main.html # parallel-running), кажется, что существуют разные параллельные режимы, в режиме 'тесты' он будет запускать все классы в одном блоке' 'в том же потоке, если вы хотите запускать каждый из этих классов или объектов в есть собственный поток одновременно, вы можете использовать либо 'parallel =" классы "или' parallel = "экземпляры". –