# Projekt Xcode {#xcode-project} ::: ostrzeżenie WYMAGANIA - Konto i projekt Tuist ::: Testy projektów Xcode można uruchamiać selektywnie z poziomu wiersza poleceń. W tym celu można poprzedzić polecenie `xcodebuild` poleceniem `tuist` - na przykład `tuist xcodebuild test -scheme App`. Polecenie haszuje projekt i po powodzeniu utrwala hasze, aby określić, co zmieniło się w przyszłych uruchomieniach. W przyszłych uruchomieniach `tuist xcodebuild test` transparentnie używa hashy do filtrowania testów, aby uruchomić tylko te, które zmieniły się od ostatniego udanego uruchomienia testu. Na przykład, zakładając następujący graf zależności: - `FeatureA` ma testy `FeatureATests` i zależy od `Core` - `FeatureB` ma testy `FeatureBTests` i zależy od `Core` - `Core` ma testy `CoreTests` `tuist xcodebuild test` będzie zachowywać się w ten sposób: | Działanie | Opis | Stan wewnętrzny | | --------------------------------- | ----------------------------------------------------------------- | -------------------------------------------------------------------------- | | `tuist xcodebuild test` wywołanie | Uruchamia testy w `CoreTests`, `FeatureATests` i `FeatureBTests` | Skróty `FeatureATests`, `FeatureBTests` i `CoreTests` są przechowywane. | | `FunkcjaA` jest aktualizowana | Deweloper modyfikuje kod obiektu docelowego | Tak jak poprzednio | | `tuist xcodebuild test` wywołanie | Uruchamia testy w `FeatureATests`, ponieważ zmienił się ich hash. | Nowy skrót `FeatureATests` jest przechowywany | | `Rdzeń` jest aktualizowany | Deweloper modyfikuje kod obiektu docelowego | Tak jak poprzednio | | `tuist xcodebuild test` wywołanie | Uruchamia testy w `CoreTests`, `FeatureATests` i `FeatureBTests` | Nowe skróty `FeatureATests` `FeatureBTests` i `CoreTests` są przechowywane | Aby użyć `tuist xcodebuild test` w CI, postępuj zgodnie z instrukcjami w Przewodniku ciągłej integracji. Obejrzyj poniższy film, aby zobaczyć testy selektywne w akcji: