10,000 以上のテストを含む Perl ベースのテスト スイートを持っていますが、これをより高速に実行したいと考えています。-j
フラグ toを使用してテストしましたprove
が、すべてではありませんがほとんどのテストが並行して実行できることがわかりました。
残りのテストを「並列処理に適した」ものにする作業はできますが、そうでないテストが常にあると思います。これを管理する良い方法は何ですか?テストのセット全体を効率的に実行しやすくし、必要に応じてテストを「並列準備ができていない」と簡単にマークできるようにしたいと考えています。
ここに私が見るいくつかのオプションがあります:
- いくつかのテストを非並列対応としてサポートするために、prove にパッチを適用することができます
- Jenkins は、テスト スイートの実行を管理するために使用されています。非並列テストを独自の実行に分割できます。つまり、あきらめて 2 回のテスト ランを使用します。
TAP
おそらく、まだ回復していない2 つの結果ストリームをマージする方法があります。
例外のリストをどのように管理するかについては、あまり関心がありません。テスト ハーネス インフラストラクチャの一部としてリストをファイルに保持するか、各テスト ヘッダーにそのようにマークする何かを入れて、テスト ハーネスが例外のリストを動的に決定することができます。
(テスト スイートは部分的に Test::Class に基づいており、高速化のために Test::Class::Load も検討します。)