15

maven-failsafe-plugin を使用していくつかの統合テストを実行したいと考えています。いずれかのテストが失敗した場合、ビルド成功ではなく、Maven がビルドに失敗することを望みます。

Tests run: 103, Failures: 1, Errors: 0, Skipped: 26
[INFO] BUILD SUCCESS*


どうすればそれを構成できますか、そのビルドは成功しませんか?

私のフェイルセーフプラグインは次のように構成されています。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>${failsafe.version}</version>
    <configuration>
        <systemProperties>
            <CI_INTEGRATION_OVERRIDE_PATH>${basedir}/..</CI_INTEGRATION_OVERRIDE_PATH>
        </systemProperties>
        <includes>
            <include>**/integration/**/*.java</include>
        </includes>
        <excludes>
            <exclude>**/integration/**/*TestSuite.java</exclude>
        </excludes>
    </configuration>
    <executions>
        <execution>
            <id>integration-test</id>
            <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
            </goals>
        </execution>
    </executions>
</plugin>
4

3 に答える 3

2

mvn clean installの両方のフェーズを実行しているため、実行する必要があります。フェイルセーフ プラグインのドキュメントによると、とゴールはこれらのフェーズにバインドされているため、 への追加の呼び出しは必要ないと思います。integration-testverifyfailsafe:integration-testfailsafe:verifyfailsafe:integration-test

とはいえ、フェイルセーフプラグインのドキュメントを信頼できるかどうかはわかりません。今年初めに誰かに似たような質問に答えました。彼は、各目標を正しいフェーズに明示的にバインドする必要があり、フェイルセーフが期待どおりに機能することが判明しました。試してみる価値があるかもしれません。

于 2012-09-05T13:36:01.277 に答える
0

解決。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <skip>true</skip>
  </configuration>
  <executions>
    <execution>
      <id>unit-test</id>
      <phase>test</phase>
      <goals>
        <goal>test</goal>
      </goals>
      <configuration>
        <skip>false</skip>
        <excludes>
          <exclude>**/*IntegrationTest.java</exclude>
        </excludes>
      </configuration>
      </execution>
      <execution>
        <id>integration-test</id>
        <phase>integration-test</phase>
        <goals>
          <goal>test</goal>
        </goals>
        <configuration>
          <skip>false</skip>
          <enableAssertions>false</enableAssertions>
          <includes>
            <include>**/*IntegrationTest.java</include>
          </includes>
          <systemPropertyVariables>
            <integration>${integration}</integration>
          </systemPropertyVariables>
        </configuration>
      </execution>
    </executions>
</plugin>
于 2012-10-04T08:00:34.267 に答える