12

与えられた質問「特定のカテゴリに属する​​すべてのテストを実行するにはどうすればよいですか?」答えは、次のアプローチがテスト組織にとってより良いでしょうか?

  1. すべてのテストを含むマスターテストスイートを定義します(例:ClasspathSuiteを使用)
  2. JUnitカテゴリの十分なセットを設計します(十分とは、テストのすべての望ましいコレクションが1つ以上のカテゴリによって識別可能であることを意味します)
  3. 各テストを関連するカテゴリで認定する
  4. マスターテストスイートと一連のカテゴリに基づいて、対象となるテストスイートを定義します

例:

  • 速度(低速、高速)、依存関係(モック、データベース、統合など)、機能(該当するカテゴリに入力)、ドメイン(該当するカテゴリに入力)などのカテゴリを特定します。
  • 各テストが関連するカテゴリのセットで適切に認定(タグ付け)されていることを要求します。
  • ClasspathSuiteを使用してマスターテストスイートを作成する(クラスパスにあるすべてのテスト)
  • マスターテストスイートをカテゴリで修飾して、ターゲットスイートを作成します。たとえば、モックテストスイート、高速データベーステストスイート、ドメインXテストスイートの低速統合などです。

私の質問は、そのようなアプローチと従来のテストスイートアプローチの承認率を求めるようなものです。比類のない利点の1つは、すべての新しいテストが、スイートのメンテナンスなしで、関連するスイートにすぐに含まれることです。1つの懸念は、各テストの適切な分類です。

4

1 に答える 1

7

考慮しなければならないトレードオフの 1 つは、カテゴリがテスト内で定義され、スイートが外部で定義されるという私見です。つまり、スイートを使用する場合、どのテストが実行されるかがわかりますが、カテゴリを使用する場合は、テストを検査するか単純に実行しない限りわかりません。同時に、テスト スイートを使用してテストを見ると、スイートをチェックしない限りどのスイートに含まれているかわかりませんが、カテゴリを使用するとすぐにわかります。

于 2010-04-23T11:59:28.900 に答える