選択的テスト
プロジェクトが大きくなるにつれて、テストの量も増えていきます。長い間、PR やmain へのプッシュのたびにすべてのテストを実行すると、数十秒かかっていました。しかし、この方法では何千ものテストに対応できません。
CI上でテストを実行するたびに、ほとんどの場合、変更点に関係なくすべてのテストを再実行することになる。Tuistの選択的テストは、私たちのハッシングアルゴリズムに基づいて、最後に成功したテスト実行以降に変更されたテストのみを実行することで、テストの実行自体を劇的に高速化するのに役立ちます。
選択的テストは、xcodebuild で動作します。これはあらゆるXcodeプロジェクトをサポートし、Tuistでプロジェクトを生成する場合は、代わりにtuist test コマンドを使用することができます。選択テストを始めるには、プロジェクトのセットアップに基づいた指示に従ってください:
::: 警告 MODULE VS FILE-LEVEL GRANULARITY(モジュールとファイルレベルの整合性
テストとソース間のコード内依存性を検出することは不可能であるため、選択的テストの最大粒度は、ターゲット レベルになります。従って、選択的テストの利点を最大化するために、ターゲットを小さくし、焦点を絞ることを推奨します。
:::
テスト範囲
テストカバレッジツールはテストスイート全体が一度に実行されることを前提にしているので、選択的なテスト実行とは相性が悪い。これは、カバレッジデータがテスト選択時に現実を反映していない可能性があることを意味する。これは既知の限界であり、あなたが何か間違ったことをしているという意味ではない。カバレッジがこのような状況でも意味のある洞察をもたらすかどうか、チームの皆さんに考えていただくことをお勧めします。もしそうであれば、私たちは将来、カバレッジを選択的実行で適切に機能させる方法をすでに考えていますので、ご安心ください。
プル/マージリクエストのコメント
GITプラットフォームとの統合が必要です。
プル/マージリクエストのコメントを自動的に取得するには、TuistプロジェクトをGitプラットフォームと統合してください。
:::
TuistプロジェクトがGitHubのようなGitプラットフォームと接続され、tuist xcodebuild test またはtuist test をCI wortkflowの一部として使い始めると、Tuistはどのテストが実行され、どのテストがスキップされたかを含むコメントをプル/マージリクエストに直接投稿します:
.
