与えられた質問「特定のカテゴリに属するすべてのテストを実行するにはどうすればよいですか?」答えは、次のアプローチがテスト組織にとってより良いでしょうか?
- すべてのテストを含むマスターテストスイートを定義します(例:ClasspathSuiteを使用)
- JUnitカテゴリの十分なセットを設計します(十分とは、テストのすべての望ましいコレクションが1つ以上のカテゴリによって識別可能であることを意味します)
- 各テストを関連するカテゴリで認定する
- マスターテストスイートと一連のカテゴリに基づいて、対象となるテストスイートを定義します
例:
- 速度(低速、高速)、依存関係(モック、データベース、統合など)、機能(該当するカテゴリに入力)、ドメイン(該当するカテゴリに入力)などのカテゴリを特定します。
- 各テストが関連するカテゴリのセットで適切に認定(タグ付け)されていることを要求します。
- ClasspathSuiteを使用してマスターテストスイートを作成する(クラスパスにあるすべてのテスト)
- マスターテストスイートをカテゴリで修飾して、ターゲットスイートを作成します。たとえば、モックテストスイート、高速データベーステストスイート、ドメインXテストスイートの低速統合などです。
私の質問は、そのようなアプローチと従来のテストスイートアプローチの承認率を求めるようなものです。比類のない利点の1つは、すべての新しいテストが、スイートのメンテナンスなしで、関連するスイートにすぐに含まれることです。1つの懸念は、各テストの適切な分類です。