問題タブ [junit5]
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.
gradle - junit 5 gradle テストレポートで stdout/stderr をキャプチャする方法は?
私のgradleプロジェクトはjunit 5を使用しており、テストレポートをビルドサーバーに表示しようとしています。XML レポートは基本的に問題ないように見えます。すべてのテスト クラスとメソッドが含まれていますが、テスト メソッドに出力された stdout/stderr がありません。テスト メタデータを含む CDATA は一部しかありません。
XML レポート:
gradle プラグインに stdout/stderr をキャプチャするように指示する設定はありますか? http://junit.org/junit5/docs/current/user-guide/#running-tests-buildを見回しましたが、何も見つかりませんでした。
と を使用org.junit.platform:junit-platform-gradle-plugin:1.0.0-M3
してorg.junit.jupiter:junit-jupiter-{api,engine}:5.0.0-M3
います。
java - JUnit 5 に assertThat() 関数がない場合、JUnit 5 で Hamcrest を使用するにはどうすればよいですか?
JUnit 4 で Hamcrest を使用するには、assertThat()
関数を使用します。ただし、JUnit 5 には機能がなくなりassertThat()
ます。なしでハムクレストを使用するにはどうすればよいassertThat()
ですか?
java - JUnit 5 で、すべてのテストの前にコードを実行する方法
注釈は、クラス内のすべてのテストの@BeforeAll
前に実行するメソッドをマークします。
http://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations
しかし、すべてのクラスで、すべてのテストの前にコードを実行する方法はありますか?
テストが特定のデータベース接続セットを使用することを確認したいのですが、テストを実行する前に、これらの接続のグローバルな 1 回限りのセットアップを行う必要があります。
java - JUnit5 でカスタム ランナーを実装する方法
JUnit4 @RunWith アノテーションと同様に、JUnit5 でテスト メソッド (前/後メソッドを含む) の実行を完全に制御する方法はありますか?
JUnit5 Arquillian 拡張機能をビルドしようとしていますが、Aquillian は基本的にコンテナー内で各テストを実行する必要があるため、JUnit5 拡張機能から Arquillian を実行すると問題が発生します。
私のコードはここにあります: BasicJunit5ArquillianTest.java
テストでは、すべてのメソッド (前/後を含む) を別のコンテナーで実行する必要があります。コンテナーは、別の JVM、リモート サーバー、組み込みサーバー、または分離されたものである可能性があります。私の拡張機能は beforeEach フックからテスト メソッドを実行し、Arquillian を使用してテスト クラスを転送し、それをLauncherFactory.create()を使用してコンテナーで実行し、テスト結果を収集して転送します。
問題は、テスト メソッドが 2 回実行されることです。通常の JUnit5 の実行と、beforeEach フックからの Arquillian 拡張を介して実行されます。Arquillian 経由でのみテストを実行し、メソッドの通常の実行をスキップしたいと考えています。
これは JUnit5 拡張機能で可能ですか? それとも、Jupiter テスト エンジンを拡張して、カスタム テスト エンジンを作成する必要がありますか?