У меня есть несколько групп, я хотел бы иметь возможность запускать все или подмножество параллельно, например. -Dgroups = a, b, ... У меня есть метод, аннотированный аннотацией @BeforeGroups, который должен выполнять какое-либо поведение до запуска группы. Поведение, которое я вижу, это когда я запускаю две конкретные группы, один с тремя тестами, другой с двумя, первые два теста первой группы запускаются, а затем два теста второй группы, а затем последний метод первой группы. (в алфавитном порядке на основе имен классов, где определены тесты). Методы распространяются по разным классам. Пожалуйста помоги!TestNG + Groups + BeforeGroups Методы работы в алфавитном порядке
testng.xml
<!DOCTYPE suite SYSTEM "http://beust.com/testng/testng-1.0.dtd" >
<suite name="API Tests">
<test name="all">
<groups>
<run>
<include name="a" />
<include name="b" />
<include name="c" />
<include name="d" />
<include name="e" />
</run>
</groups>
<packages>
<package name="package.*" />
</packages>
</test>
</suite>
выполнение заказа (с сокращениями для запутывания)
Class: E; Method: testF; Group: a
Class: I; Method: testI; Group: a
Class: S; Method: testSH; Group: b
Class: S; Method: testSI; Group: b
Class: T; Method: testF; Group: a
Примечание: Я попытался установить темы 1, это не устранило порядок испытаний/групп выполнение.
Это не работает. Поведение, упомянутое выше, с выполнением теста по-прежнему происходит. Я пробовал один поток с одним тестом, в котором было две группы с таким же неправильным поведением. – kfox
Это ожидаемое поведение. Если вы попробовали один тест с двумя группами в нем, он будет запускать их поочередно один за другим, так как параллельный флаг устанавливается на тесты. Пожалуйста, попробуйте тот, который указан в моем ответе, а затем понизите мой ответ. – praneel
Я попытался с теми же результатами, может быть, я не понял вашего ответа. Я хочу запустить две группы, поэтому я включил Group1And2 и установил parallel = "tests" thread-count = "1". – kfox