Pest: Agora com suporte a testes paralelos

Last updated 25/08/2021

Ganhe tempo rodando seus testes de forma simult√Ęnea com o Pest!

ūüáĶūüáĻ Translation contributed by @DanSysAnalyst. Read the English version here

Apertem os cintos! Hoje o Pest dá um passo à frente com chegada do Plugin Oficial de Testes paralelos. Veja as novidades e como instalar!

As vantagens dos testes paralelos

Por padr√£o, o Pest roda os seus testes em sequ√™ncia. Podemos dizer de uma maneira simples que todos os seus testes ser√£o enfileirados e executados um ap√≥s o outro por um √ļnico processo PHP. Isto pode levar um certo tempo, especialmente em grandes su√≠tes de teste.

Por√©m, os computadores atuais contam com processadores de v√°rios n√ļcleos e conseguem executar varias tarefas simultaneamente. Como seria se pud√©ssemos pedir ao Pest para utilizar mais de um n√ļcleo ao mesmo tempo? Com certeza nossos testes rodariam muito mais r√°pido.

Então, temos o prazer de anunciar que, a partir de hoje, isso é já possível! O Pest, utilizando-se da integração com o Paratest, passa a promover essa funcionalidade de maneira simples e eficiente.

Instalação

Para iniciar, você precisa estar rodando a versão mais recente do Pest (v1.16.0+) e ter instalado o Plugin "Pest Parallel".

Execute o comando abaixo para atualizar o Pest e instalar o plugin:

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

Agora você já pode executar o Pest passando a opção --parallel.

1./vendor/bin/pest --parallel

Pest running in parallel mode

E isso é tudo! Você já está rodando seus testes em modo paralelo!

Dicas

Nós trabalhamos duro para garantir que os testes paralelos fossem executados perfeitamente, garantindo aquela experiência tão "Pest" que você já conhece.

Por exemplo, os testes em paralelos são exibidos da mesma forma que os testes em sequência. Nada mudou! Você continua desfrutando de resultados bem apresentados, bonitos e amigáveis ao usuário. Nada de mensagens e avisos complicados de entender.

Você poderá continuar utilizando o relatório de cobertura de código com os testes paralelos. Tudo foi integrado perfeitamente para uma perfeita experiência ao testar:

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

Pest's awesome coverage output is available in parallel too!

Nós também demos uma atenção especial para assegurar suporte total ao Laravel. Basta você instalar o Pest e o plugin de testes paralelos e você poderá rodar testes com o Artisan sem problemas:

1php artisan test --parallel

Aqui vai outra dica: ganhe tempo escrevendo '-p', que nada mais é que um atalho para a flag --parallel. Veja:

1./vendor/bin/pest -p

Por padr√£o, o Pest vai subir tantos processos simult√Ęneos quanto o n√ļmero de n√ļcleos existente no seu computador. Para ajustar esse n√ļmero, voc√™ pode passar a op√ß√£o --processes seguida do n√ļmero de processos a serem usados:

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

Use the --processes option to configure the number of processes

Próximos passos

Estamos muito entusiasmados em apresentar o suporte a testes paralelos no Pest! Nós estivemos trabalhando nessa funcionalidade por um bom tempo e sabemos que você vai amar utilizá-la.

Temos muitos planos para testes paralelos, incluindo suporte para um sistema de hook completo, integração com PhpStorm, opção de renderização compacta e muito mais. Manteremos você informado!

Enquanto isso, aproveite todo o poder dos testes paralelos no Pest!