マルチモジュールプロジェクトにおけるテスト実行の最適化 by 23

iOSDC Japan 2024
レギュラートーク(20分)

マルチモジュールプロジェクトにおけるテスト実行の最適化

fxwx23 23 fxwx23
3

iOSプロジェクトにおいて、開発効率を向上させるためにマルチモジュール構成を採用する人が増えてきています。各モジュールの独立性を確保することで、スケーラビリティが高まります。

しかし、マルチモジュール構成では、一つの変更がプロジェクト全体、全てのモジュールに影響を与えるとは限りません。それにも関わらず、全てのテストを毎回実行するとテスト実行時間が長くなり、開発サイクルが遅延します。マルチモジュール恩恵を十分に受けてられていません。

この課題を解決するために、「XcodeSelectiveTesting」というツールを用いて、変更箇所に依存するターゲットのみを選定し、意図したテストターゲットのみを実行する手法を紹介します。このツールはGitの変更ファイルの情報を基に、Swift Package Managerの機能などを活用して、影響を受けるターゲットを特定することができます。

このトークでは、どのように実現しているかをツール内部の仕組みを解説した上で、実際のプロジェクトでの導入事例とテスト実行時間の比較結果を共有し、具体的な適用イメージを提供します。テスト効率の向上と開発サイクルの短縮を目指す方々に有益な情報を提供します。