Ir al contenido

Fragmentación de tests

Los hosts de CI modernos ofrecen entornos multinúcleo que permiten cierto grado de paralelización de tests. Sin embargo, hay escenarios en los que necesitas ir más allá de lo que un solo host puede ofrecer, por ejemplo, cuando estás limitado por el número de simuladores que puedes ejecutar simultáneamente o cuando tu suite de tests simplemente supera la capacidad de una sola máquina.

En esos casos, necesitas un sistema que distribuya los tests entre varios runners de CI y agregue los resultados en una vista unificada. Eso es lo que hace la fragmentación de tests.

Tuist utiliza datos históricos de tiempos de ejecución de tests para equilibrar inteligentemente la carga entre fragmentos mediante un algoritmo de empaquetado en contenedores, de modo que cada runner termine aproximadamente al mismo tiempo. Los resultados de todos los fragmentos se agregan automáticamente en Análisis de tests, lo que te ofrece una única vista unificada de tu suite de tests en todos los fragmentos.