web-dev-qa-db-ja.com

テストスイートはJUnit5で非推奨と見なされますか?

JUnit5でテストスイートを作成しようとしています。いくつかの調査の後、私はそれがサポートされている機能であるかどうかを結論付けることができませんでした。

公式ユーザーガイド は、JUnit 4への下位互換性に関してスイートについてのみ言及しています。

これは、JUnit 4での方法です。

@RunWith(Suite.class)
@SuiteClasses({Test1.class, Test2.class})
public class TestSuite {
}

これは、テストスイートが現在非推奨と見なされているのか、それとも同じ概念が別の名前で引き続き利用できるのか?

19
Nebula

これは、テストスイートが現在非推奨と見なされているのか、それとも同じ概念が別の名前で引き続き利用できるのか?

BitterSuiteAnswer:

実際、JUnit 5にはテストスイートのサポートがありますが、探しているものとは異なります。ただし、JUnitチームは、おそらくニーズに合うものに取り組んでいます。

詳細な回答:

JUnit 5.2以降、suitesの組み込みサポートはJUnitPlatformRunner@RunWith(JUnitPlatform.class))。そのランナーは実際にJUnitプラットフォーム(別名、JUnit 5インフラストラクチャー)を起動し、JUnit 4やJUnit Jupiterなどのさまざまなプログラミングモデルに対してテストを実行できるようにします。また、さまざまなもの(クラス、パッケージなど)を選択し、フィルター(タグやテストエンジンなど)を含めたり除外したりすることもできます。

ランナーの問題は、JUnitプラットフォームで直接実行できないできないことです。 onlyは、JUnit 4を単独で使用して実行できます。つまり、JUnitプラットフォームからJUnit 4への変換中に情報が失われるため、JUnitプラットフォームの完全なレポート機能が失われます。

要約すると、技術的にはJUnitPlatformランナーを使用して、JUnit 5を使用してスイートを実行できます。テストは実行されますが、IDEでのレポートおよび表示は最適ではありません。

明るい面として、JUnitチームは、JUnit 4のJUnitPlatformランナーの欠点に悩まされない、JUnit 5のスイートの組み込みサポートを提供する予定です。詳細については、-に割り当てられているすべての問題を参照してください GitHubの「スイート」ラベル

さらに、すでに 機能ブランチ があり、これをチェックアウトできます JitPackを介したMavenまたはGradleビルドで使用

よろしく、

Sam(JUnit 5コアコミッター)

11
Sam Brannen