[解決済み] Mavenで単体テストを禁止し、統合テストを許可する
質問
私はいくつかのユニットテストを実行するためにSureFireプラグインを使用し、いくつかの統合テストを実行するためにFailSafeプラグインを使用しているMavenビルドを持っています。 私はFailSafeプラグインのテストだけを実行する方法が欲しいです。
マルチモジュールビルドなので、すべてのモジュールのpomを編集する必要がないため、pomに異なるプロファイルや何かを追加することは良い解決策ではありません。
があります。
skip.tests
と
maven.test.skip
と
skipTests
を停止する
すべて
のテストと
skipITs
で、フェイルセーフプラグインのみを停止させます。
そこで、Mavenのコマンドラインフラグとして、以下のようなものはないでしょうか?
skipITs
しかし、その代わりに "onlyITs" の機能を備えているのでしょうか?
解決方法は?
確実なテストだけをスキップする最も簡単な方法は、確実なテスト( であり、フェイルセーフではない ) を以下のように設定します。
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14</version>
<configuration>
<!-- skips surefire tests without skipping failsafe tests.
Property value seems to magically default to false -->
<skipTests>${skip.surefire.tests}</skipTests>
</configuration>
</plugin>
これによって
mvn verify -Dskip.surefire.tests
を実行し、フェイルセーフではなく確実なテストのみをスキップします。また、プレインテグレーションとポストインテグレーションを含む他のすべての必要なフェーズを実行し、さらに、このフェーズでは
verify
を実現するために必要なゴールです。
mavenのビルドを失敗させる
統合テストが失敗した場合
これは、テストをスキップするように指定するためのプロパティを再定義するものであることに注意しましょう。
-DskipTests=true
これは、特に既存のビルドやユーザーが既にそのフラグを指定している場合、予期しない事態になる可能性があります。簡単な回避策は、デフォルトで
skip.surefire.tests
の値に
skipTests
を追加してください。
<properties>
セクションを作成します。
<properties>
<skip.surefire.tests>${skipTests}</skip.surefire.tests>
</properties>
必要であれば、類似のパラメータである
skip.failsafe.tests
というのも、ユニットテストは通常より前の段階で実行されるからです。そして、ユニットテストは実行したいが統合テストは実行したくない場合は
test
フェーズではなく
verify
というフェーズがあります。あなたの経験は異なるかもしれません
これらの
skip.(surefire|failsafe).tests
プロパティは、おそらくsurefire/failsafeのコード自体に統合されるべきですが、それが「1つの小さな違いを除けば全く同じプラグインである」という倫理観にどれだけ違反するかはわかりません。
関連
-
スナップショットでアーティファクト ... :pom:1.0-SNAPSHOT が見つかりませんでした。
-
[解決済み] IntelliJのインスペクションで「シンボルを解決できない」と表示されたが、コードはコンパイルされる
-
[解決済み] Mavenが実行するJUnitテストを見つけ出せない
-
[解決済み] mvnwとmvnw.cmdファイルは何のためにあるのですか?
-
[解決済み] Mavenのゴールとフェーズ、その違いは何ですか?
-
Tomcat はエラー org.apache.catalina.LifecycleException を報告します。コンポーネント[StandardEngine[Catalina]]の起動に失敗しました。
-
[解決済み】Maven surefireでForkedBooterクラスが見つからなかった。
-
[解決済み] マルチモジュールのMaven + Sonar + JaCoCoがマージされたカバレッジレポートを提供するように設定する方法は?
-
[解決済み] Mavenです。このプロジェクトのパッケージングでは、ビルドアーティファクトにファイルが割り当てられていません。
-
[解決済み] maven がどの settings.xml ファイルを使用しているかを調べるにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Mavenがエラーを報告します。解決不能な親POM: 見つかりません。
-
コンパイルに失敗しました。Error: シンボルが見つかりません
-
スナップショットでアーティファクト ... :pom:1.0-SNAPSHOT が見つかりませんでした。
-
[解決済み] mavenの強制アップデートを行うには?
-
[解決済み] Mavenのゴールとフェーズ、その違いは何ですか?
-
Tomcat はエラー org.apache.catalina.LifecycleException を報告します。コンポーネント[StandardEngine[Catalina]]の起動に失敗しました。
-
[解決済み】Spring Boot - すでに親POMがある場合の親Pom
-
[解決済み] Mavenのローカルリポジトリの場所をCLIパラメータとして指定する
-
[解決済み] エラー ENOENT: そのようなファイルやディレクトリはありません。
-
[解決済み] maven がどの settings.xml ファイルを使用しているかを調べるにはどうすればよいですか?