Есть ли способ сообщить maven, какой testClass он должен выполнить?

Вот моя проблема.

Я использую один проект с таким количеством testClass

--Package
----TestClass1
----TestClass2
----TestClass3

Каждый testClass представляет собой набор тестов, который содержит собственные аннотации beforeTest, test и afterTest.

Я хочу реализовать несколько jenkins jonbs так же, как testClass

Теперь мои единственные фиктивные решения - дублировать проект и создавать один тестовый класс для каждой работы.

Есть ли способ сказать maven, чтобы указать на класс по его имени или что-то подобное? Что-то вроде mvn clean test -D=className

Извините за мой английский

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
82
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете установить свойство командной строки surefire.includesFile в файл, в котором вы перечисляете соответствующие классы. Смотрите также

https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html

где вы должны искать «includesFile».

Спасибо. Как я могу настроить свои jenkins для выполнения правильного класса с помощью surefire? есть что добавить в команду выполнения?

Hamza Amami 01.03.2019 16:49
Ответ принят как подходящий

Вы можете просто передать имя теста как часть параметров 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

Надеюсь, это поможет.

Другие вопросы по теме