問題タブ [maven-failsafe-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - Mvn (Failsafe Plugin) から異なるバージョンのブランチに対して簡単に統合テストを実行できますか?
私の mvn プロジェクトにメジャー バージョン リリースがあるとします。
トランクはバージョン 2 で、バージョン 1 のブランチがあります。開発者がトランクのテストを自由に編集できるようにしたいのですが、バージョン 2 から 1 への下位互換性も維持したいと考えています。バージョンを実行する簡単な方法はありますか?バージョン 2 のソース コードに対する 1 つの分岐統合テスト。テスト jar をコンパイルして移動することを考えていましたが (これが機能するかどうかはわかりません)、それは醜いようです.... 明確にするために、単体テスト クラスはTest.java
where で示され、統合テストは で示されIT.java
ます。統合テストのみを実行したい
私はできれば次のようなものを実行できるでしょう
あるいは、Jenkins または Atlassian の Bamboo プラグインが機能します。
java - 組み立てたjarのテスト動作
作成されたjarが期待どおりに動作するかどうかをテストする統合テストを書きたいと思います。そのためには、jarへのパスと名前を知る必要がありますが、この情報を取得する方法. これをハードコーディングするという考えは好きではありません。Mavenから情報を取得する方法はありますか? または、そのためのベストプラクティスは何ですか?
java - Maven フェイルセーフ: ガイドに従いましたが、「verify」では実行されません
Maven フェイルセーフ プラグインで統合テストを実行しようとしていますが、https://maven.apache.org/surefire/maven-failsafe-plugin/usage.htmlのガイドに従っても機能しません。
私のMavenプロジェクト(MvnTest)は次のようになります(ソースファイルは以下にあります):
mvn testは、sunfire プラグインを使用してSomeTest.java内のテストのみを正しく実行します。出力:
ただし、mvn verifyコマンドは、2 つの点で間違っているmvn testとまったく同じものを出力します。1) sunfire を呼び出します。2) SomeTest.java でテストを実行しますが、SomeIT.java でのみ実行する必要があります ( https: //maven.apache.org/surefire/maven-failsafe-plugin/examples/inclusion-exclusion.html )
フェイルセーフを正しく使用するためのガイドに従っていると思いますが、明らかに何かを見逃しているに違いありません。私は何を間違えましたか?
ソースファイル
pom.xml:
SomeIT.java:
SomeTest.java:
java - Maven 統合テストに失敗しました: includes0 に null 値があります
mvn clean install
私のビルドは、eclipse から正常に junit テストをビルドして実行するため、以前は気づいていませんでしたが、最近失敗し始めました。以下のエラーの原因に関する考えはありますか?
Maven ログ スニペット:
Pom.xml:
maven - Surefire はテストを実行できますが、フェイルセーフは実行できません
コマンドでsurefireプラグインを使用して完全に実行される統合テストがいくつかあります。
を使用してフェイルセーフプラグインで同じ統合テストを実行すると
テストは、依存関係がないことを示して失敗します (jackson lib、「応答クラスのメッセージ本文ライターが見つかりません」)。
必要な依存関係が pom with scope test に追加されます。シュアファイアとフェイルセーフのテスト実行方法の違いは何ですか?
もう少しコンテキスト:私のpomには次のものが含まれています:
テストクラスはapplicationcomposer
maven-failsafe-plugin - it.testプロパティを使用していないMavenフェイルセーフプラグイン?
統合テストを実行するための maven フェイルセーフ プラグインの構成は次のとおりです ( Failsafe Usage Documentationのドキュメントに基づく) 。
以下を使用して個々のテストを実行しようとすると:
私のテストは実行されません。次のメッセージで終了します。No tests were executed
execution
の定義を削除するとverify
、期待どおりにテストが実行されます。公式の使用法ドキュメントからプラグインの定義をコピーしたので、プラグインにバグがあるのか 、それとも何か間違っているのでしょうか?
maven-2 - マルチモジュール プロジェクトの Maven フェイルセーフ プラグイン
私はmavenベースのプロジェクトに取り組んでいます。プロジェクトには複数のモジュールがあります。これがプロジェクト構造です
- 計画
親モジュールのパッケージ タイプは「pom」で、すべてのモジュールはこれで定義されます。
以下に示すように、親モジュール pom に failsafe-pligin を追加しました
「mvn verify」コマンドを実行すると、フェイルセーフ プラグインが実行されません。私の統合テスト名「TestServiceIT.java」は、構造のmodule1にあります。
war モジュールに同じ「フェイルセーフ」プラグインを追加すると、WAR の作成後にフェイルセーフ プラグインが実行されることがわかりますが、テスト クラスが見つかりませんでした。下記参照
だから、私の質問は
- フェイルセーフプラグインがメインの pom.xml で定義されている場合、なぜそれが実行されないのですか?
- 別のモジュールで定義されたテストケースが見つからないのはなぜですか?
- マルチモジュールmavenプロジェクトで統合テストを書くためのベストプラクティスは何ですか?