Back to Tuist

Xcode 專案{#xcode-project}

server/priv/docs/zh_Hant/guides/features/selective-testing/xcode-project.md

4.191.82.6 KB
Original Source

Xcode 專案{#xcode-project}

[!WARNING] Requirements

  • A<LocalizedLink href="/guides/server/accounts-and-projects">Tuist帳號與專案</LocalizedLink>

您可以透過命令列選擇性地執行 Xcode 專案的測試。為此,您可以在xcodebuild 指令前加上tuist - 例如,tuist xcodebuild test -scheme App 。該命令會對您的專案進行切細處理,成功後,它會持久化切細值,以確定在未來的執行中有哪些變更。

在以後的執行中tuist xcodebuild test 會透明地使用哈希值來篩選測試,只執行自上次成功執行測試後有變更的測試。

例如,假設下列依賴圖形:

  • FeatureA 有測試FeatureATests ,並依賴於核心
  • FeatureB 有測試FeatureBTests ,並依賴於核心
  • Core 有測試CoreTests

tuist xcodebuild test 將會有這樣的行為:

行動說明內部狀態
tuist xcodebuild test invocation執行CoreTests,FeatureATests, 和FeatureBTests 中的測試FeatureATestsFeatureBTestsCoreTests 的散列會被持久化。
FeatureA 已更新開發人員修改目標程式碼與之前相同
tuist xcodebuild test invocation執行FeatureATests 中的測試,因為其雜湊值已變更FeatureATests 的新切細值會被持久化
核心 已更新開發人員修改目標程式碼與之前相同
tuist xcodebuild test invocation執行CoreTests,FeatureATests, 和FeatureBTests 中的測試FeatureATests FeatureBTests ,以及CoreTests 的新切細值會被持久化。

若要在 CI 上使用tuist xcodebuild test ,請遵循 <LocalizedLink href="/guides/integrations/continuous-integration">Continuous integration guide</LocalizedLink> 中的指示。

查看以下視訊,瞭解選擇性測試的實際運作:

<iframe title="Run tests selectively in your Xcode projects" width="560" height="315" src="https://videos.tuist.dev/videos/embed/1SjekbWSYJ2HAaVjchwjfQ" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>