防止maven跳过测试(默认=跳过)

时间:2013-05-06 12:30:59

标签: maven testing build jenkins skip

我的pom.xml看起来像这样:

<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构建代码时才执行测试套件。

1 个答案:

答案 0 :(得分:2)

maven-surefire-plugin的默认值为以跳过测试。所以最好是删除

<skipTests>true</skipTests> 
从你的pom进入。此外,让测试套件与Maven的关系没有意义。

但是你当然可以通过Jenkins环境激活的配置文件来处理这个问题:

<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>

顺便说一下。使用目前 2.14.1 的更新的maven-furefire-plugin版本。

相关问题