問題タブ [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 - フェイルセーフ プラグインを使用した Jenkins + Selenium テスト
Maven を呼び出して単体テスト (確実なプラグインを使用) と統合テスト (フェイルセーフ プラグインを使用) を行う Jenkins プラットフォームがあります。統合テストでエラーが発生すると、Jenkins はビルドが成功したと見なします。この動作は正常ですか?ビルドが不安定であると見なすことをお勧めします。より一般的には、Jenkins がビルドの結果を読み取って解釈し、ビルドが成功または不安定であると見なす方法を知っていますか? ネット上のどこかで、フェイルセーフ レポートを確実なレポート パスにリダイレクトする必要があることを読みました。私はidをしましたが、問題はまだここにあります。
pom.xml :
ジェンキンスの出力:
html - Jenkins でのフェイルセーフ HTML レポート
フェイルセーフMavenプラグインで実行されるいくつかの統合テスト(Seleniumを使用)があります。Failsafe は XML レポート ファイルのみを生成します。
1) HTML レポートを生成したい
2) Jenkins に HTML レポートへのリンクを設定したい
1)については、「maven-surefire-report-plugin」をインストールして、フェイルセーフレポートのみの目標を使用しました。
しかし、標準出力では、何も生成されていないようです:
私の failsafe-reports ディレクトリには、XML レポート ファイルしかなく、HTML レポート ファイルはありません。
フェイルセーフ用の html レポートを生成するのに適したプラグインですか?
2) については、Jenkins プラグイン「Selenium HTML レポート」をインストールし、ビルド後のアクション「Publish Selenium HTML report」を追加し、「Selenium tests results location」パラメーターの「target/failsafe-reports」値で構成しましたが、何もありませんJenkinsインターフェースに表示されます(確かに私のhtmlレポートファイルが生成されていないためです...)。
この2点教えていただけないでしょうか?
java - テストを実行しない Maven フェイルセーフ
私は StackOverflow と他の多くのサイトをくまなく調べ、他の多くの関連する投稿を見つけ、上記のすべての提案に従いましたが、最終的にフェイルセーフは私のテストをスキップしています.
私の JUnit テストは次の場所にあります。
myModule/src/main/test/java/ClientAccessIT.java
このモジュールには単体テストがないため、surefireをスキップします。
そして、フェイルセーフで統合テストを実行しようとしています:
ただし、実行すると次のようmvn verify
に表示されます。
私は最後の 4 時間半を精練に費やしました。他に言及する価値があるかもしれない唯一のことは、Cargoで Tomcat コンテナーをセットアップして破棄することです。誰かが明白な問題を見ていますか?
maven - Maven を使用したクライアント/サーバー統合テスト
クライアントとサーバーの 2 つのプロジェクトで構成される単純なゲームがあります。次に、それらが正しく相互作用するかどうかをテストしたいと思います。セットアップは次のとおりです。1 つの Maven 親プロジェクト、および子モジュールとしてのサーバー/クライアント/統合テスト。このガイドhttp://docs.codehaus.org/display/MAVENUSER/Maven+and+Integration+Testing
に従おうとしました。これは、maven-failsafe-plugin を使用した統合テストです。残念ながら、プラグインとして利用可能な jetty-server の起動方法のみを説明しています。
テストのために、この構成で自分のクライアントとサーバーをどこでどのように起動しますか (または、より良い構成がありますか?) 私は次のようなことをしたいと思っていました: まず、テストの前にクライアントとサーバーを起動したいと思います。jUnittest では、Socket と Serversocket が必要です。1 つはサーバーに接続され、もう 1 つはクライアントに接続されます。次に、このセットアップを介してクライアント/サーバーの相互作用をパイプし、その間にそれを検証するか、特定のメッセージを個別に送信して、答えを検証したいと考えています。
そのようなことは可能ですか、それとももっと良い方法がありますか?
integration-testing - maven-failsafe-plugin が検証時に実行されず、failsafe:verify で xml が見つからない
プロジェクトで Maven フェイルセーフ プラグインが実行されません。mvn verify を実行すると、必ず確実に実行されます。mvn failsafe:verify と入力すると、次のエラーで失敗します。
だから私は基本的に同じ問題を抱えています:フェイルセーフプラグインはあるプロジェクトでは実行されませんが、別のプロジェクトでは実行されます-なぜですか? 私のpomがすでに次のようになっているという違いがあります:
そして、これがこの男たちの問題の解決策でした。このサイトの解決策を除いて、私にはうまくいきませんでした。誰かが私が台無しにした場所を指摘できますか?
また、統合前フェーズで exec-maven-plugin を使用してサーバーを起動したいという問題もあります。しかし、 mvn-verify を試すと、最後に実行されます。
maven - Maven フェイルセーフ プラグインは、JUnit カテゴリで注釈が付けられたテスト クラスを実行しません
私はこのようなインターフェースを持っています:
フェイルセーフ プラグインを次のように構成します。
次に、このような統合テストを作成すると
このテストは実行されません。
ただし、テストの包含と除外に従ってクラスに名前を付ける場合
そのようです:
テストは正常に実行されます。groups-tag を使用するときに、テストに名前を付けて注釈を付ける必要があるのはなぜですか? 何か不足していますか?JUnitの使用に関するドキュメントには、クラス レベルで Category アノテーションを使用できると記載されています。
maven - maven-failsafe-plugin エラーとビルド成功?
私の質問はこれと非常によく似ています: maven-failsafe-plugin Failures and BUILD SUCCESS?
そして、テストが失敗した場合に失敗するようにフェイルセーフプラグインを設定することができました。
ただし、テストがエラー状態になった場合でも、フェイルセーフ プラグインはビルドを中断しません。
簡単にするために、 IntegrationTierFunctionalTestCase にはこのコードのみが含まれています
fail() のコメントを外すと、ビルド全体が正しく失敗し、ビルドが失敗します。しかし、例外をスローすると、上記のように失敗します。
プラグインの構成は次のようになります
私は何が欠けていますか?いいえ、try-catch ブロックでラップして手動でテストを失敗させたくありません。
maven - maven test ゴールでテストを実行しながら、maven install ゴールでテストをスキップするにはどうすればよいですか?
同じフォルダー (src/test/java) に統合テストと単体テストの両方を含むマルチモジュール Maven プロジェクトがあります。統合テストは でマークされてい@Category(IntegrationTest.class)
ます。私は次の設定で終わりたいです:
- を実行する
mvn install
と、すべてのテストをコンパイルしたいのですが、何も実行したくありません。 - を実行する
mvn test
と、すべてのテストがコンパイルされますが、単体テストのみが実行されます。 - を実行
mvn integration-test
すると、すべてのテストをコンパイルして実行したいと思います。
重要な点は、pom.xml
追加のコマンドライン引数なしでこれを構成することです。
現在、親の pom.xml で次の設定を思いつきました。唯一の問題は、すべてのテストが実行される #1 です。
すべての子モジュールの pom.xml には、親 pom から継承する必要があると思われる次のプラグイン構成があります。
を使用してみ<skipTests>true</skipTests>
ましたが、すべての目標に対してテストの実行が無効になり、これは私が望むものではありません (#2 と #3 に違反しています)。mvn test
オプションを尊重するのも非常に奇妙skipTests=true
です...そもそもなぜそれを実行したいのですか??
mvn install
グーグルで何時間もかけてさまざまな組み合わせを試してみた結果、 でテストを実行すると同時に、 でテストを実行することさえ可能かどうか迷っていますmvn test
。誰かがこれが間違っていることを証明してくれることを願っています。;)
mvn install
単体テストのみを実行するソリューションも喜んで受け入れますが、大きな違いはないと思います。
junit - Maven Sure Fireプラグインが尊重されない鬼ごっこ
junit の @category を使用して、単体テストと統合テストを区別したいと考えています。UnitTest と IntegrationTests という名前の 2 つのインターフェイスを作成しました。テスト クラスとテスト メソッドに @Category(UnitTest.class) と @Category(IntegrationTest.class) のアノテーションを付けています。
モジュールに Maven Sure Fire プラグインと Maven Fail Safe プラグインを設定しました。
pomファイルは次のようになります
mvn clean install を実行すると (単体テスト (Maven Sure Fire プラグイン) だけが実行され、統合テスト (Maven Fail Safe) がスキップされることを期待しています)、これは問題なく行われているようです。
しかし、奇妙なことに、Maven Sure Fire プラグインはタグを尊重しません。@Category(UnitTest) とカテゴリのないものの両方でテストを実行することになります。ただし、 @IntegrationTest を使用したテストはスキップされています。
カテゴリ @unitTests 以外のすべてのテストはスキップされると思いました。
確実なプラグイン構成から com.myproject.IntegrationTest を削除しようとしましたが、@category (IntegrationTest.class) を使用したテストも実行を開始しました。
これは確実なプラグインのバグですか。ドキュメントによると、指定されたカテゴリのテストのみを実行する必要があります。
ここで何か不足していますか?
maven - mvn clean install の実行時に統合テストを実行しない
私は次のことをしたい:
- を実行するとき
mvn clean install
、単体テストだけを実行したい (統合テストなし) - 私がするとき
mvn integration test
、統合テストだけを実行したい(単体テストなし) mvn test
単体テストを実行するときは、単独で実行する必要があります。
Maven Surefire
プラグインとプラグインでいくつか試してみましMaven failsafe
たが、これを達成できませんでした。私が試したのは、Surefire と Failsafe プラグインを追加し、単体テストを注釈で分離し、パッケージ レベルで単体テストと統合テストを分離し、単体テストと統合テストの特定の命名規則を維持することです。
私が達成できるのは、上mvn clean install
で単体テストを単独で実行することですが、Maven 統合テストを実行すると、単体テストの実行を停止できません。どうすればいいですか?