Skip to content

生成されたプロジェクト{#generated-project}

生成されたプロジェクトでテストを選択的に実行するには、tuist test コマンドを使用します。このコマンドは、キャッシュを温めるのと同じように、あなたの Xcode プロジェクトをハッシュ化し、成功すると、将来の実行で何が変更されたかを判断するためにハッシュを持続させます。

今後の実行では、tuist test 、透過的にハッシュを使用してテストを絞り込み、最後に成功したテストの実行以降に変更されたものだけを実行する。

例えば、次のような依存関係グラフを仮定する:

  • FeatureAFeatureATests を持ち、Core に依存している。
  • FeatureB は、FeatureBTests をテストし、Core に依存する。
  • コア にはテストがあるCoreTests

tuistテスト

アクション 説明 内部状態
tuistテスト 呼び出し CoreTestsFeatureATestsFeatureBTests のテストを実行する。 FeatureATests,FeatureBTests andCoreTests のハッシュが永続化される。
FeatureA が更新される 開発者はターゲットのコードを修正する。 同上
tuistテスト 呼び出し ハッシュが変更されたため、FeatureATests のテストを実行する。 FeatureATests の新しいハッシュが永続化される。
コア を更新 開発者はターゲットのコードを修正する。 同上
tuistテスト 呼び出し CoreTestsFeatureATestsFeatureBTests のテストを実行する。 FeatureATests FeatureBTests 、およびCoreTests の新しいハッシュが永続化される。

tuist test はバイナリキャッシングと直接統合し、ローカルまたはリモートのストレージからできるだけ多くのバイナリを使用して、テストスイートを実行する際のビルド時間を改善します。選択的テストとバイナリキャッシングを組み合わせることで、CIでテストを実行する時間を劇的に短縮できます。

UIテスト{#ui-tests}#

TuistはUIテストの選択テストをサポートしている。ただし、Tuistは事前にデスティネーションを知っておく必要がある。destination パラメータを指定した場合のみ、Tuist は次のように UI テストを選択的に実行する:

bash
tuist test --device 'iPhone 14 Pro'
# or
tuist test -- -destination 'name=iPhone 14 Pro'
# or
tuist test -- -destination 'id=SIMULATOR_ID'