2013-05-06 142 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