JUnit 4を使用していましたが、テストのグループ化に問題がありました。統合テストでは、実行順序に問題がありました。 2016年2月にTestNGに移行しました。
今、私たちはプロジェクトのために新しい独立したモジュールを始めており、チームプレイヤーの一部がJUnit 5を望んでいます。私はそれが4thよりもはるかに優れていると信じています(いくつかの新しい重要な機能がありますが、いくつかの問題もあります)。
私は4thの経験があるので、新しいアプリケーションで起こりうる問題を恐れて、JUnit 5を使いたくありません。しかし、私はチームにとってより柔軟でなければならないので、決定を下す前に、JUnit 5の経験を持つユーザーからの推奨が必要です。
JUnit 5には多くの新機能が導入されています。現在Intellij IDEAはJUnit 5をサポートしています。
統合に関する記事をご覧ください: IntelliJ IDEAでのJUnit 5の使用 。
現在、次のようないくつかの便利な注釈があります。
@Tag
クラスレベルまたはメソッドレベルで、フィルタリングテストのタグを宣言するために使用されます。 TestNGのテストグループまたはJUnit 4のカテゴリに類似
@DisplayName
テストクラスまたはテストメソッドのカスタム表示名を宣言します
詳細: JUnit 5ユーザーガイド
TestNGの目的は単体テストを超えているため、シナリオテスト、統合テスト、依存関係テスト、順序付け、並列実行などの幅広いテストニーズをカバーしていますが、これらの機能はJUnit 5ではサポートされていません。
JUnit 5チームはこれらの項目をロードマップに記載していますが、より広い範囲のテストのニーズをサポートするためにユニットテストフレームワークを拡張しています。 JUnit 5の新しい後続のリリースがTestNGと比較してより広いテストのニーズにどのように対処できるかを見てみましょう