2013-05-06 2 views
0

Мой pom.xml выглядит следующим образом:Предотвращение Maven от пропуска тестов (по умолчанию = пропуск)

<plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.4.2</version> 
    <configuration> 
     <skipTests>true</skipTests> 
     </configuration> 
    </plugin> 
</plugins> 

Так по умолчанию, Maven строитель должен пропустить все тесты. Можно ли активировать тесты, такие как mvn -Dmaven.test.skip=false test? То, что я пытаюсь сделать, заключается в том, чтобы выполнять только тестовый набор, когда код построен с помощью jenkins.

ответ

2

По умолчанию для maven-surefire-plugin нет, чтобы пропустить тесты. Поэтому лучше всего удалить

<skipTests>true</skipTests> 

запись с вашего пом. Кроме того, наличие наборов тестов в отношениях с Maven не имеет смысла.

Но вы, конечно, можете справиться с этим через профиль, который активируется среде Дженкинс, как это:

<profiles> 
    <profile> 
    <id>default-build</id> 
    <activation> 
     <activeByDefault>true</activeByDefault> 
    </activation> 
    <build> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
      <skipTests>true</skipTests> 
      </configuration> 
     </plugin> 
     </plugins> 
    </build> 
    </profile> 

    <profile> 
    <id>jenkins-build</id> 
    <activation> 
     <property> 
     <name>JENKINS_URL</name> 
     </property> 
     <build> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
     </plugin> 
     </plugins> 
     </build> 
    </activation> 
    </profile> 
</profiles> 

Btw. Используйте более современную версию maven-furefire-plugin в настоящее время 2.14.1.