Skip to content

Сгенерированные проекты

::: предупреждение РЕКВИЗИТЫ

:::

Чтобы выборочно запустить тесты в сгенерированном проекте, используйте команду tuist test. Команда хеширует ваш проект Xcode так же, как это делается для прогрева кэша, и в случае успеха сохраняет хеши, чтобы определить, что изменилось в последующих запусках.

В последующих запусках tuist test прозрачно использует хэши для фильтрации тестов, чтобы запускать только те, которые изменились с момента последнего успешного запуска теста.

Например, предположим следующий граф зависимостей:

  • FeatureA имеет тесты FeatureATests, и зависит от Core
  • FeatureB имеет тесты FeatureBTests, и зависит от Core
  • Ядро имеет тесты CoreTests

туистский тест будет вести себя именно так:

Действие Описание Внутреннее состояние
туистский тест вызов Запускает тесты из разделов CoreTests, FeatureATests, и FeatureBTests. Хэши FeatureATests, FeatureBTests и CoreTests сохраняются.
ФункцияА обновляется Разработчик изменяет код целевой программы Как и раньше
туистский тест вызов Запускает тесты в FeatureATests, потому что хэш изменился. Новый хэш FeatureATests сохраняется.
Обновлено ядро Разработчик изменяет код целевой программы Как и раньше
туистский тест вызов Запускает тесты из разделов CoreTests, FeatureATests, и FeatureBTests. Новый хэш FeatureATests FeatureBTests, и CoreTests сохраняется.

tuist test напрямую интегрируется с кэшированием бинарных файлов, чтобы использовать как можно больше бинарных файлов из локального или удаленного хранилища для улучшения времени сборки при выполнении набора тестов. Сочетание выборочного тестирования с кэшированием бинарных файлов позволяет значительно сократить время выполнения тестов в CI.

Тесты пользовательского интерфейса#

Tuist поддерживает выборочное тестирование UI-тестов. Однако Tuist необходимо заранее знать место назначения. Только если вы укажете параметр destination, Tuist будет запускать тесты пользовательского интерфейса выборочно, например:

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