Вот моя проблема.
Я использую один проект с таким количеством testClass
--Package
----TestClass1
----TestClass2
----TestClass3
Каждый testClass представляет собой набор тестов, который содержит собственные аннотации beforeTest, test и afterTest.
Я хочу реализовать несколько jenkins jonbs так же, как testClass
Теперь мои единственные фиктивные решения - дублировать проект и создавать один тестовый класс для каждой работы.
Есть ли способ сказать maven, чтобы указать на класс по его имени или что-то подобное? Что-то вроде mvn clean test -D=className
Извините за мой английский




Вы можете установить свойство командной строки surefire.includesFile в файл, в котором вы перечисляете соответствующие классы. Смотрите также
https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html
где вы должны искать «includesFile».
Вы можете просто передать имя теста как часть параметров maven, т.е.
-Dtest=TestClass1, TestClass3 тест
для запуска TestClass1 и TestClass3
Другие примеры найдены @ Как запустить несколько тестовых классов или тестовых методов с помощью Maven?
Создайте файл TestClass1.xml для определенного класса Test.
<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name = "Suite">
<test name = "Test">
<classes>
<class name = "com.tutorial.testng.TestClass1"/>
</classes>
</test>
</suite>
Теперь используйте динамическое имя файла xml в «maven-surefire-plugin», как указано ниже.
<configuration>
<suiteXmlFiles>
<!-- TestNG suite XML files -->
<suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
</suiteXmlFiles>
</configuration>
Теперь вы можете запустить его через maven
mvn clean test -Dsurefire.suiteXmlFiles=TestClass1.xml
В Jenkins вы можете создать задание со «сборкой с параметрами» и создать строковый параметр. Теперь вы можете передать testng.xml в Jenkins. Проверьте ниже, как это сделать.
https://www.theserverside.com/video/Modify-CI-jobs-with-this-Jenkins-parameterized-build-example
Надеюсь, это поможет.
Спасибо. Как я могу настроить свои jenkins для выполнения правильного класса с помощью surefire? есть что добавить в команду выполнения?