リスクグループテストを先に実行する
JUnit と TestNG のリスクテストの並べ替え
サポートされる環境:
Ant および IntelliJ IDEA プロジェクト ランナー
テストが通常の JUnit または TestNG タスクで開始される場合の JUnit および TestNG フレームワーク
TeamCity に、いくつかのテストを他のテストより先に実行するよう指示できます。 これは、ビルドランナー設定ページで実行できます。 現在、TeamCity が先に実行できるテストグループは二つあります:
最近失敗したテスト、つまり、前回の終了または実行中のビルドで失敗したテスト、および失敗率の高いテスト (いわゆるまばたきテスト)
新規および変更されたテスト、つまり、実行中のビルドに含まれる変更リストで追加または変更されたテスト
TeamCity では、これらのグループの両方または各グループを個別に有効化できます。
TeamCity はテストケース単位で動作します。つまり、個々のテストではなく、テストケース全体が並べ替えられます。 テストケースは単一のテスト実行 Ant タスク内でのみ並べ替えられるため、この機能の効果を最大化するには、ビルドごとに単一のテスト実行タスクを使用してください。
テストの並べ替えは次のように機能します。
JUnit
TeamCity は、最初に実行すべきテスト (テストクラス) を提供します。
JUnit タスクが開始されると、TeamCity はこれらのテストが含まれているかどうかを確認します。
少なくとも一つのテストが含まれている場合、TeamCity は含まれているテストのみを含む新しいファイルセットを生成し、他のすべてのファイルセットより先に処理します。 また、他のファイルセットにパッチを適用して、自動生成されたファイルセットに追加されたテストを除外します。
その後、通常どおり JUnit が起動して実行されます。
TestNG
5.14 より前の TestNG バージョン は:
TeamCity は、最初に実行すべきテスト (テストクラス) を提供します。
TestNG タスクが開始されると、TeamCity はこれらのテストが含まれているかどうかを確認します。
少なくとも一つのテストが含まれている場合、TeamCity は、含まれているテストのみで構成された suite を含む新しい XML ファイルを生成し、他のすべてのファイルより先に処理します。 また、自動生成されたファイルに追加されたテストを除外するために、他のファイルにパッチを適用します。
その後、TestNG が通常どおり起動および実行されます。
TestNG バージョン 5.14 以降 は:
TeamCity は、最初に実行すべきテスト (テストクラス) を提供します。
TestNG が開始されると、TeamCity はカスタムリスナーを注入し、必要に応じてテストを並べ替えます。
テストを開始する前に、TestNG はリスナーにテスト実行順序リストの順序を変更するよう要求します。 何らかのテストで並べ替えが必要な場合、TeamCity リスナーはそのテストをリストの先頭に移動します。
その後、TestNG は新しい順序でテストを実行します。
NUnit のリスクテストの並べ替え
サポートされているビルドランナー:
NAnt、 MSBuild、 NUnit、 Visual Studio 2003 ビルドランナー
NUnit テストフレームワーク
テストの並べ替えは、最近失敗したテストの並べ替えのみをサポートします。
リスクテストの並べ替えオプションが有効な場合、NUnit テストランナーの機能は次のように機能します。
NUnit は、テスト名フィルターを使用して「リスク」グループからテストを実行します。
NUnit は、逆フィルターを使用して他のすべてのテストを実行します。