Lanza los test más rápido con Laravel Paratest

Cuando empezamos a tener muchos test automatizados en Laravel se hace cada vez más pesado lanzarlos.

Vale, que puede que sean solo 4 segundos, pero eso es muyyyy lento.

Una forma de arreglarlo es revisar los test lentos.

Y otra es usar una herramienta como Paratest, que los lanza en paralelo.

El ahorro de tiempo es brutal. En ocasiones he pasado de 10 segundos a un segundo.

Este post es posible gracias a Urlan Heat – empresa de desarrollo especializada en PHP.

Cómo instalar Laravel Paratest

Para poder juguetear con Paratest necesitarás, al menos, la versión 8.25 de Laravel.

Puedes probar a lanzar el comando:

php artisan test --parallel

Con suerte, esto te funciona a la primera y la lo tienes.

Si falta algún paquete te dará algún aviso como éste:

Running tests in parallel requires "brianium/paratest". Do you wish to install it as a dev dependency? (yes/no) [no]:

Otra opción es lanzar directamente este comando:

composer update nunomaduro/collision laravel/framework

Lanzar Laravel Paratest

Ya lo tienes, ahora tan solo necesitas ejecutar los test:

php artisan test --parallel

¡Y listo!

Filtrar test

Yo no he conseguido que me funcione el filtrado test con el comando artisan. Sin embargo, si lanzas Paratest directamente sí que funciona:

./vendor/bin/paratest --functional --filter=MisTest

Otra forma es añadir una suite de test y ejecutar solo esa:

php artisan test --parallel --testsuite=MiSuite

Deja un comentario