いくつかのカスタム注釈に基づいてテスト ポリシーを適用する JUnit 4 に基づくテスト システムがあります。特に、メソッドに注釈を付けて、テスト システムにタイムアウトとそれらのメソッドからのリソース アクセスを強制させることができます。
たとえば、@Medium のアノテーションが付けられたテストは 60 秒以内に完了する必要があり、ネットワークにアクセスできません。
カスタム アノテーションのないテストは「小規模」テストに分類され、10 秒以内に完了する必要があり、ネットワークやファイル システムにアクセスできません (たとえば、単体テストが実際に単体テストであることを確認します)。
また、テスト システムは、中規模のテストを試みる前に、すべての小規模なテストに合格することを保証します。大規模なテストなどを試みる前に、すべての中規模のテストに合格する必要があります。
これを JUnit 4 の上に実装するのはかなり簡単で、システムのいくつかの重要な部分をカスタマイズするだけで済みました。
これを JUnit 5 に移行することを検討していますが、これを行う良い方法があるかどうかを知りたいと思っていました。新しい発見とフィルタリングのメカニズムは、テストの順序付けを本当に簡素化しますが、ランナーを削除すると、テストのサイズ設定ポリシーを適用する方法がわかりません.
注: テスト システムの知識なしに記述されたテストには小さなテスト ポリシーが適用されていることを確認する必要があるため、テスト自体にポリシーを適用しても機能しません。
カスタム テスト エンジンを作成できると思いますが、それは少しやり過ぎかもしれません。