Как запустить несколько тестовых классов или методов тестирования с помощью Maven?
Для запуска всех тестов Maven мы можем использовать:
mvn clean test
Если мы хотим запустить определенный тестовый класс, мы можем использовать:
mvn clean test -Dtest=className
Если мы хотим запустить определенный метод из определенного тестового класса, мы можем использовать:
mvn clean test -Dtest=className#methodName
Но я хочу запустить:
- несколько тестовых классов (не все, что принадлежит
src\test\java
) - несколько методов тестирования из определенного класса тестирования (не все методы тестирования определенного класса тестирования, которые принадлежат
src\test\java
)
Существуют ли команды Maven, с помощью которых я могу достичь выше двух?
3 ответа
Если вы используете плагин surefire, вы можете использовать следующие опции.
Для нескольких классов вы можете использовать,
mvn -Dtest=TestSquare,TestCi*le test
Для нескольких методов в одном классе вы можете использовать,
mvn -Dtest=TestCircle#testOne+testTwo test
См. Документы
Чтобы заставить это работать (по крайней мере, из командной строки Windows), мне пришлось добавить кавычки вокруг параметров теста.
mvn -Dtest="TestSquare,TestCi*le" test
(используя maven-surefire-plugin:2.17)
Если вы хотите запустить все тестовые предложения из подкаталога, например: /doc/, вы можете использовать команду:
mvn -Dtest=*/doc/* test
Вы можете добавить несколько классов в TestNG со своими группами, например
<groups>
<run>
<include name = "checkintest" />
<include name = "videoSpider" />
<include name = "xmlTCUploader" />
<include name = "PALLogin" />
</run>
</groups>
<classes>
<class name="SeleniumUC"/>
<class name="PALTestCasesSuite"/>
</classes>
После этого вы можете использовать эти группы с Maven, как -
mvn -Dgroups=PALLogin test