Перейти к содержимому

Распараллеливание тестов

Современные CI-хосты предоставляют многоядерные среды, которые позволяют в некоторой степени параллелизовать выполнение тестов. Однако бывают ситуации, когда возможностей одного хоста недостаточно — например, когда вы ограничены количеством симуляторов, которые можно запустить одновременно, или когда ваш набор тестов просто перерастает возможности одной машины.

В таких случаях вам нужна система, которая распределяет тесты между несколькими CI-раннерами и агрегирует результаты в единое представление. Именно этим занимается распараллеливание тестов.

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