Skip to content

Перевод 🌍

Вы можете перевести или улучшить перевод этой страницы.

Внести вклад

Выборочное тестирование

По мере роста вашего проекта увеличивается и количество тестов. В течение долгого времени выполнение всех тестов при каждом PR или push на main занимало десятки секунд. Но это решение не подходит для тысяч тестов, которые могут быть у вашей команды.

При каждом запуске теста в CI вы, скорее всего, заново проводите все тесты, независимо от изменений. Выборочное тестирование Tuist позволяет значительно ускорить запуск самих тестов, выполняя только те тесты, которые изменились с момента последнего успешного запуска теста на основе нашего алгоритма

хэширования.

Выборочное тестирование работает с командой xcodebuild, которая поддерживает любой проект Xcode, а если вы генерируете свои проекты с помощью Tuist, вы можете использовать команду tuist test, которая предоставляет некоторые дополнительные удобства, такие как интеграция с

бинарным кэшем.

Чтобы приступить к выборочному тестированию, следуйте инструкциям в соответствии с настройками вашего проекта:

ГРАНУЛЯРНОСТЬ МОДУЛЯ VS ГРАНУЛЯРНОСТЬ ФАЙЛОВОГО УРОВНЯ

Из-за невозможности выявления внутрикодовых зависимостей между тестами и исходными текстами максимальная детализация выборочного тестирования находится на уровне цели. Поэтому мы рекомендуем делать цели небольшими и сфокусированными, чтобы максимизировать преимущества выборочного тестирования.

ТЕСТОВОЕ ОБЕСПЕЧЕНИЕ

Инструменты для покрытия тестов предполагают, что весь набор тестов запускается сразу, что делает их несовместимыми с выборочным прогоном тестов - это означает, что данные о покрытии могут не отражать реальность при использовании выбора тестов. Это известное ограничение, и оно не означает, что вы делаете что-то неправильно. Мы призываем команды задуматься о том, приносит ли покрытие значимую информацию в этом контексте, и если да, то будьте уверены, что мы уже думаем о том, как сделать так, чтобы покрытие правильно работало с выборочными прогонами в будущем.

Комментарии к Pull/merge-запросам

ИНТЕГРАЦИЯ С ПЛАТФОРМОЙ GIT ОБЯЗАТЕЛЬНА

Чтобы получить автоматические комментарии к запросам pull/merge, интегрируйте ваш

Tuist-проект

с

Git-платформой.

Как только ваш проект Tuist будет связан с вашей Git-платформой, например GitHub, и вы начнете использовать tuist xcodebuild test или tuist test в качестве части вашего CI wortkflow, Tuist будет публиковать комментарий непосредственно в ваших запросах pull/merge, включая, какие тесты были выполнены, а какие пропущены: Комментарий приложения GitHub со ссылкой на
Tuist Preview

Released under the MIT License.