Сгенерированные проекты
РЕКВИЗИТЫ
- Проект, созданный
- A Туистский счет и проект
Чтобы выборочно запустить тесты в сгенерированном проекте, используйте команду tuist test. Команда
ваш проект Xcode так же, как это делается для
прогрева кэша, и в случае успеха сохраняет хеши, чтобы определить, чтоизменилось в последующих запусках.
В последующих запусках tuist test прозрачно использует хэши для фильтрации тестов, чтобы запускать только те, которые изменились с момента последнего успешного запуска теста.
Например, предположим следующий граф зависимостей:
FeatureAимеет тестыFeatureATests, и зависит отCoreFeatureBимеет тесты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 будет запускать тесты пользовательского интерфейса выборочно, например:
sh
tuist test --device 'iPhone 14 Pro'
# or
tuist test -- -destination 'name=iPhone 14 Pro'
# or
tuist test -- -destination 'id=SIMULATOR_ID'