Failsafe で Selenium 統合テストを実行しています。テストでのアサーションの 1 つが合格せず、テストが失敗した場合、Maven ビルドは期待どおりに失敗します。ただし、テストでエラーが発生した場合、ビルドは予期せず成功として終了します (以下の出力)。
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 14.075 sec <<< FAILURE!
Results :
Tests in error:
test(uk.co.ned24.ExpandedIT)
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7 minutes 40 seconds
[INFO] Finished at: Wed Jan 30 16:58:28 GMT 2013
[INFO] Final Memory: 78M/209M
[INFO] ------------------------------------------------------------------------
これが意図されたものかどうか、また Selenium が予期しない動作を引き起こす可能性があるかどうかはわかりません。プラグイン doco を確認しましたが、テスト エラー後にビルドを失敗させるように設定できるフラグが見つかりません。
理想的には、テスト エラーでビルドが失敗するようにしたいので、アドバイスをいただければ幸いです。役に立つ場合に備えて、POM から切り取った Failsafe を添付しました。
ありがとう、ニック
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<systemPropertyVariables>
<configDir>${basedir}/local/integration-test</configDir>
</systemPropertyVariables>
</configuration>
</plugin>