Есть ли способ сказать maven, какой testClass он должен выполнить - PullRequest
0 голосов
/ 01 марта 2019

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

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

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

Каждый testClass - это набор тестов, который содержит свой собственный beforeTest,test и afterTest аннотации

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

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

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

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

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

Вы можете просто передать имя теста как часть параметров maven, например:

-Dtest = TestClass1, TestClass3 test

для запуска TestClass1 и TestClass3

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

0 голосов
/ 02 марта 2019

Создайте файл 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

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

0 голосов
/ 01 марта 2019

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...