Распараллеливание тестов
Современные CI-хосты предоставляют многоядерные среды, которые позволяют в некоторой степени параллелизовать выполнение тестов. Однако бывают ситуации, когда возможностей одного хоста недостаточно — например, когда вы ограничены количеством симуляторов, которые можно запустить одновременно, или когда ваш набор тестов просто перерастает возможности одной машины.
В таких случаях вам нужна система, которая распределяет тесты между несколькими CI-раннерами и агрегирует результаты в единое представление. Именно этим занимается распараллеливание тестов.
Tuist использует исторические данные о времени выполнения тестов, чтобы интеллектуально сбалансировать нагрузку между шардами с помощью алгоритма упаковки в контейнеры, благодаря чему каждый раннер завершает работу примерно в одно и то же время. Результаты со всех шардов автоматически агрегируются в разделе Аналитика тестов, предоставляя единое представление о вашем наборе тестов по всем шардам.
Распараллеливайте тесты Xcode между параллельными CI-раннерами.
Распараллеливайте тесты в сгенерированных Tuist проектах между параллельными CI-раннерами.
Распараллеливайте тесты Gradle между параллельными CI-раннерами.
Распараллеливайте тесты вашего проекта на Elixir между параллельными CI-раннерами.
Распределяйте цели тестирования Cargo между параллельными CI-воркерами.