Как запустить несколько тестовых классов или методы тестирования с помощью Maven?

Чтобы запустить все тесты Maven, мы можем использовать:

mvn clean test

Если мы хотим запустить определенный тестовый класс, мы можем использовать:

mvn clean test -Dtest=className

Если мы хотим запустить определенный метод из определенного тестового класса, мы можем использовать:

mvn clean test -Dtest=className#methodName

Но я хочу запустить:

  • несколько тестовых классов (не все, что принадлежит src\test\java)
  • несколько методов тестирования из определенного тестового класса (не все тестовые методы конкретного тестового класса, принадлежащие src\test\java)

Есть ли команды Maven, с помощью которых я могу достичь выше двух?

Ответ 1

Если вы используете плагин surefire, вы можете использовать следующие параметры.

Для нескольких классов, которые вы можете использовать,

mvn -Dtest=TestSquare,TestCi*le test

Для нескольких методов в одном классе вы можете использовать

mvn -Dtest=TestCircle#testOne+testTwo test

Обратитесь docs

Ответ 2

Чтобы заставить это работать (по крайней мере, из командной строки Windows), мне пришлось добавлять кавычки вокруг параметров теста.

mvn -Dtest="TestSquare,TestCi*le" test

(используя maven-surefire-plugin: 2.17)

Ответ 3

Если вы хотите запустить все тестовые кланы из подкаталога, например:/doc/Вы можете использовать команду:

mvn -Dtest=*/doc/* test

Ответ 4

Вы можете добавить несколько классов в 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