# Проект Xcode {#xcode-project}
::: предупреждение РЕКВИЗИТЫ
- A Туистский счет и проект
:::
Вы можете запускать тесты ваших проектов Xcode выборочно через командную строку.
Для этого вы можете дополнить команду `xcodebuild` командой `tuist` - например,
`tuist xcodebuild test -scheme App`. Команда хэширует ваш проект и в случае
успеха сохраняет хэши, чтобы определить, что изменилось в последующих запусках.
В последующих запусках `tuist xcodebuild test` прозрачно использует хэши для
фильтрации тестов, чтобы запускать только те, которые изменились с момента
последнего успешного запуска теста.
Например, предположим следующий граф зависимостей:
- `FeatureA` имеет тесты `FeatureATests`, и зависит от `Core`
- `FeatureB` имеет тесты `FeatureBTests`, и зависит от `Core`
- `Ядро` имеет тесты `CoreTests`
`tuist xcodebuild test` будет вести себя именно так:
| Действие | Описание | Внутреннее состояние |
| ---------------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `tuist xcodebuild test` invocation | Запускает тесты из разделов `CoreTests`, `FeatureATests`, и `FeatureBTests.` | Хэши `FeatureATests`, `FeatureBTests` и `CoreTests` сохраняются. |
| `ФункцияА` обновляется | Разработчик изменяет код целевой программы | Как и раньше |
| `tuist xcodebuild test` invocation | Запускает тесты в `FeatureATests`, потому что хэш изменился. | Новый хэш `FeatureATests` сохраняется. |
| `Обновлено ядро` | Разработчик изменяет код целевой программы | Как и раньше |
| `tuist xcodebuild test` invocation | Запускает тесты из разделов `CoreTests`, `FeatureATests`, и `FeatureBTests.` | Новый хэш `FeatureATests` `FeatureBTests`, и `CoreTests` сохраняется. |
Чтобы использовать `tuist xcodebuild test` в вашем CI, следуйте инструкциям в
руководстве
Continuous integration guide.
Посмотрите следующее видео, чтобы увидеть выборочное тестирование в действии: