私は次の問題を解決できるツールを見つけようとしています:
テストスイート全体の実行には数時間かかります。これにより、テストの実行の間に50〜200のコミットが存在する可能性があるため、特定のテストに失敗したコミットを見つけるのが困難になるか、少なくとも非常に時間がかかります。常に壊れたテストはごくわずかであるため、壊れたテストのみを再実行することは、テストスイート全体を実行する場合に比べて非常に高速です。
テストがOKだった最後のリビジョンとテストがOKではなかった最初のリビジョンの間にいくつかのリビジョンを使用して失敗したテストを再実行し、特定のコミットを自動的に検出できるツール(継続的インテグレーションサーバーなど)はありますか?テストが成功から失敗に切り替わりました。
例えば:
テストAとBはリビジョン100で問題ありません。テストAとBはリビジョン200で壊れています。
ツールは、リビジョン150で両方のテストを実行する必要があります。たとえば、テストAが壊れていて、テストBがリビジョン150で問題ない場合は、テストAがリビジョン125で、テストBがリビジョン175で、すべての壊れたテストまでチェックを続けることができます。いくつかの特定のコミットによって説明することができます。
単一のテストでは、おそらくgitbisectと一緒に何かをハックすることができます。しかし、複数の失敗したテストの場合、多くのリビジョンを両方向で検索する必要があるため、これではおそらく十分ではありません。