# 產生專案{#generated-project} > [!WARNING] > **Requirements** > > - 一個 產生的專案 > - ATuist帳號與專案 若要有選擇性地使用已產生的專案執行測試,請使用`tuist test` 指令。該命令 散列您的 Xcode 專案,方式與 暖化快取記憶體相同,成功後會持續散列,以判斷未來執行時有哪些改變。 在未來執行`tuist test` 時,會透明地使用哈希值來篩選測試,只執行自上次成功執行測試以來有變更的測試。 例如,假設下列依賴圖形: - `FeatureA` 有測試`FeatureATests` ,並依賴於`核心` - `FeatureB` 有測試`FeatureBTests` ,並依賴於`核心` - `Core` 有測試`CoreTests` `tuist 測試` 將會有這樣的行為: | 行動 | 說明 | 內部狀態 | | -------------- | ---------------------------------------------------- | ---------------------------------------------------------- | | `tuist 測試` 援用 | 執行`CoreTests`,`FeatureATests`, 和`FeatureBTests 中的測試` | `FeatureATests` 、`FeatureBTests` 和`CoreTests` 的散列會被持久化。 | | `FeatureA` 已更新 | 開發人員修改目標程式碼 | 與之前相同 | | `tuist 測試` 援用 | 執行`FeatureATests` 中的測試,因為其雜湊值已變更 | `FeatureATests` 的新切細值會被持久化 | | `核心` 已更新 | 開發人員修改目標程式碼 | 與之前相同 | | `tuist 測試` 援用 | 執行`CoreTests`,`FeatureATests`, 和`FeatureBTests 中的測試` | `FeatureATests` `FeatureBTests` ,以及`CoreTests` 的新切細值會被持久化。 | `tuist test` 直接與二進位快取整合,可從您的本機或遠端儲存中使用盡可能多的二進位檔案,以改善執行測試套件時的建立時間。選擇性測試與二進位快取的結合,可以大幅縮短在 CI 上執行測試的時間。 ## UI 測試{#ui-tests} Tuist 支援 UI 測試的選擇性測試。但是,Tuist 需要事先知道目的地。只有指定`目的地` 參數,Tuist 才會有選擇性地執行 UI 測試,例如: ```sh tuist test --device 'iPhone 14 Pro' # or tuist test -- -destination 'name=iPhone 14 Pro' # or tuist test -- -destination 'id=SIMULATOR_ID' ```