8

JUnit4 @RunWith アノテーションと同様に、JUnit5 でテスト メソッド (前/後メソッドを含む) の実行を完全に制御する方法はありますか?

JUnit5 Arquillian 拡張機能をビルドしようとしていますが、Aquillian は基本的にコンテナー内で各テストを実行する必要があるため、JUnit5 拡張機能から Arquillian を実行すると問題が発生します。

私のコードはここにあります: BasicJunit5ArquillianTest.java

テストでは、すべてのメソッド (前/後を含む) を別のコンテナーで実行する必要があります。コンテナーは、別の JVM、リモート サーバー、組み込みサーバー、または分離されたものである可能性があります。私の拡張機能は beforeEach フックからテスト メソッドを実行し、Arquillian を使用してテスト クラスを転送し、それをLauncherFactory.create()を使用してコンテナーで実行し、テスト結果を収集して転送します。

問題は、テスト メソッドが 2 回実行されることです。通常の JUnit5 の実行と、beforeEach フックからの Arquillian 拡張を介して実行されます。Arquillian 経由でのみテストを実行し、メソッドの通常の実行をスキップしたいと考えています。

これは JUnit5 拡張機能で可能ですか? それとも、Jupiter テスト エンジンを拡張して、カスタム テスト エンジンを作成する必要がありますか?

4

1 に答える 1