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ですか? 私がやろうとしているのは、コードがジェンキンでビルドされている場合にのみテスト スイートを実行することです。

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>

ところで。現在、より最新の maven-furefire-plugin バージョン2.14.1を使用してください。

于 2013-05-06T12:50:41.937 に答える