0

我的 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 builder 应该跳过所有测试。是否可以像这样激活测试mvn -Dmaven.test.skip=false test?我想要做的是仅在使用 jenkins 构建代码时执行测试套件。

4

1 回答 1

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 版本。

于 2013-05-06T12:50:41.937 回答