3

たとえば、「BlahITCase」という名前の統合テストを持つMavenプロジェクトがあります。このテストは現在失敗しているため、「mvn install」が失敗します。これは予想される動作ですか?私の理解では、単体テスト (surefire) の失敗はビルドの失敗を引き起こしますが、統合テスト (フェイルセーフを使用) の失敗は失敗しません。

pom の build plugins セクションに次のものがあります。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.12.3</version>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

verify ゴールをコメントアウトすると、望ましい動作が得られるようです。

4

1 に答える 1

1

failsafe:integration-test ゴールは、verify ライフサイクルの開始時に実行され、その後、ビルドに失敗している failsafe:verify が実行されます。failsafe:verify は、デフォルトでライフサイクルを検証するようにバインドされています。これにより、失敗し、インストールの進行が停止します

http://maven.apache.org/plugins/maven-failsafe-plugin/verify-mojo.html

絶対に必要な場合は、フェイルセーフ プラグインに失敗したテストを無視するように指示することもできますが、失敗したテスト ケースは、パッケージを展開する準備ができていないことを意味するものと見なす必要があります。

http://maven.apache.org/plugins/maven-failsafe-plugin/verify-mojo.html#testFailureIgnore

于 2012-09-24T21:35:17.387 に答える