исключить TestNG-группы при сборке maven в hudson

#maven #hudson #testng #maven-failsafe-plugin

#maven #хадсон #testng #maven-failsafe-плагин

Вопрос:

Я хочу использовать hudson для создания проекта maven-java. Некоторые из моих интеграционных тестов используют серверы, которые недоступны с hudson-server. Поэтому я хочу исключить их, используя специальный профиль.

   <profile>
    <id>hudson</id>
    <build>
      <pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>         
            <configuration>
             <excludedGroups>ticketserver,print</excludedGroups>
            </configuration>
          </plugin>
        </plugins>
      </pluginManagement>
    </build>
  </profile> 

</profile
  

К сожалению, я уже исключаю группу в моем общем pom.

    <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-failsafe-plugin</artifactId>
     <version>2.10</version>

     <configuration>
      <excludedGroups>manual</excludedGroups>
     </configuration>
  

Используя mvn help:effective-pom, я обнаружил, что этот параметр переопределяет параметр из моего профиля. Есть ли способ исключить все три тестовых класса при запуске в профиле hudson?

Я подумал о том, чтобы вставить failsage-configuration в каждый имеющийся у меня профиль и удалить его из общего pom, но это кажется правильным, так как мне нужно было бы повторить это для каждого имеющегося у меня профиля.

Любая помощь приветствуется

Ответ №1:

Решаемая проблема путем определения свойства «testGroupsToSkip», которое задается в main-pom. затем он используется в качестве значения для excludedGroups. В моем профиле я перезаписываю свойство новым значением.