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

回答

2

maven-surefire-plugin的默认值是而不是来跳过测试。所以最好的办法就是从你的pom中删除

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

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