Pest: Disponibili Test In Parallelo

Last updated 24/08/2021

Risparmia tempo prezioso eseguendo simultaneamente i tuoi test con Pest!

🇮🇹 Translation contributed by Andrea Marco Sartori. Read the English version here

I benefici del test in parallelo

Normalmente, Pest esegue i tuoi test in serie. In altre parole tutti i test vengono accodati ed avviati uno dopo l’altro in un singolo processo PHP. Questo può comportare rallentamenti, specialmente in ampie test suite.

Tuttavia il tuo computer, a meno che non appartenga agli anni 90, dispone di più CPU alle quali si possono assegnare processi diversi. Quindi se ci fosse un sistema per consentire a Pest di sfruttare tali core contemporaneamente, la nostra test suite sarebbe eseguita in molto meno tempo. Siamo entusiasti di annunciare che, a partire da oggi, esiste il modo di ottenere esattamente questo! Pest è ora in grado di offrire test in parallelo integrandosi perfettamente con Paratest!

Installazione

Per cominciare, assicurati di installare l’ultima versione di Pest (v1.16.0+) e il plugin per il test in parallelo:

composer update pestphp/pest && composer require pestphp/pest-plugin-parallel --dev

Dopodichè, aggiungi l’opzione --parallel mentre esegui il comando pest:

./vendor/bin/pest --parallel

Tutto qui! Ora la tua test suite viene eseguita in parallelo. Per ulteriori informazioni e consigli, continua a leggere!

Trucchi e suggerimenti

Ci siamo impegnati molto per rendere i test in parallelo un’esperienza comoda e piacevole in Pest. Per esempio, l’output dei test in parallelo è identico all’output dei test in serie, in modo da non farti mancare tutti i report ricchi e informativi che distinguono Pest. Funzioni come once e skip sono pienamente supportate e continueranno a funzionare senza errori.

Persino i report di coverage sono scrupolosamente integrati e contribuiscono all’ottima esperienza di testing garantita da Pest:

./vendor/bin/pest --parallel --coverage --min=90

Un altro obiettivo che ci siamo posti è il completo supporto di Pest all’interno del framework Laravel. È sufficiente avere Pest e il plugin di test in parallelo installati per poter eseguire il comando php artisan test --parallel e rilasciare tutta la potenza di Pest.

Piccolo suggerimento: invece di digitare --parallel ogni volta, puoi scegliere l’opzione più breve -p:

./vendor/bin/pest -p

Di default Pest avvia tanti processi quante sono le CPU a disposizione nel tuo computer. Se preferisci impostare manualmente il numero di processi, puoi utilizzare l’opzione --processes:

./vendor/bin/pest -p --processes=10

Cosa aspettarsi dal futuro

Siamo al settimo cielo per il lancio di questa fantastica funzionalità. Ci siamo impegnati molto e siamo sicuri che la amerete. Abbiamo in serbo ulteriori idee per il parallelo, incluso un set completo di hook, integrazione con PhpStorm, output compatti e molto altro. Ti terremo aggiornato! Nel frattempo rilassati e goditi la potenza del test in parallelo di Pest!