Tudo o que sabemos sobre Pest 3

Everything We Know about Pest 3 image

Nuno Maduro foi o palestrante de início do Laracon US 2024 na terça-feira, revelando novos recursos impressionantes para o próximo Pest v3.0. O Pest continua a crescer em popularidade, sendo baixado mais de 18 milhões de vezes e é o framework de testes padrão no Laravel desde o V11.

O Pest v3 dá outro importante salto primeiro com três recursos impressionantes chegando ao Pest 3:

  • Gerenciamento de tarefas
  • Predefinições de Arquitetura
  • Teste de mutação

Vamos estudar cada um desses recursos compartilhados no Laracon US com mais detalhes:

Gerenciamento de Tarefas

O gerenciamento de tarefas permite que você rastreie coisas uma vez que responsável, número do problema, número de solicitação de pull e notas, diretamente em um teste. O rastreamento de tarefas permite que você mantenha um histórico de trabalho que sempre estará disponível em seu teste:

test('some test 1', function () {

// ...

})->todo(assignee: 'paulredmond', issue: 13);

 

it('returns a successful response', function Sua visita nos ajuda a continuar oferecendo o melhor para você! {

$response = $this->get('/');

 

$response->assertStatus(200);

})->todo(

assignee:'paulredmond',

issue:11,

pr:1,

note:'Need to assert the response body.'

);

 

// Eric is a closer ☕️

test('drives always go in the fairway', function () {

// ...

})->done(assignee: 'ericlbarnes', issue: 13);

Na traço de comando, você Sua visita nos ajuda a continuar oferecendo o melhor para você! filtrar testes por responsável ou problema:

$ pest --issue=11

$ pest --assignee=paulredmond --pr=1

$ pest --assignee=ericlbarnes

$ pest --issue=13

$ pest --notes # returns tests with notes

Predefinições de Arquitetura

As predefinições de arquitetura são uma maneira de usar rapidamente as mesmas regras de arquitetura em vários projetos e aproveitar predefinições populares uma vez que regras para Laravel, PHP, uma predefinição PHP estrita ou uma predefinição relaxada. Elas criarão mais consistência em seu código porque evitarão que você faça coisas uma vez que deixar funções de depuração uma vez que phpinfo(), dd(), etc.

Você pode usar essas predefinições usando o arch()->preset() método:

// Ensures PHP functions like die(), phpinfo(), etc. are not used

arch()->preset()->php();

 

// Ensures functions like eval(), md5(), etc. are not used.

arch()->preset()->security();

 

// Preset to validate things like resourceful controller methods,

// enum organization, controller files have a `Controller` suffix, etc.

arch()->preset()->laravel();

 

// Preset to ensure classes are final, strict typing, etc.

arch()->preset()->strict();

 

// Preset to ensure strict types are not used, no final, no private methods.

arch()->preset()->relaxed();

As predefinições aceleram o desenvolvimento porque a maioria das regras que você esperaria já estão definidas para você. Cá está um exemplo da predefinição de segurança falhando devido ao uso de md5():

Cá está um exemplo de uso da predefinição Strict, demonstrando uma classe que não está usando a predefinição final palavra-chave:

Teste de mutação

Quando o teste de mutação for lançado com o Pest v3, ele vai te deixar de queixo derribado. Marque minhas palavras, quando você executar testes de mutação na sua base de código, esse recurso vai te fazer chorar, e logo você não conseguirá viver sem ele.

Mesmo que seu conjunto de testes relate 100% de cobertura, o teste de mutação ajudará você a encontrar lacunas em seus testes. Ele faz isso removendo código de sua implementação, trocando a lógica e abrindo buracos em seu código para tentar fazer seus testes falharem.

Compatibilidade com versões anteriores

Perto do término de sua palestra, Nuno mencionou que os usuários do Pest 2 poderão atualizar sem nenhuma quebra de compatibilidade com versões anteriores. Os usuários devem poder atualizar o pacote para exigir v3 e atualizar dependências do composer. Isso é muito importante porque consertar quebras de compatibilidade na sua utensílio de teste pode ser doloroso, principalmente se você tiver muitos testes.

O horizonte do Pest é cintilante, com ferramentas produtivas que aprimoram seus testes por meio de mutações, tornam a arquitetura do seu aplicativo mais consistente e ajudam a monitorar responsáveis ​​e problemas diretamente em seus testes.

Qual recurso te deixa mais entusiasmado? Conte-nos sobre seu predilecto mídia social aplicativo!


Adriano Pina

Adriano Pina

Análise de Sistemas | SEO e Google Ads | Fundador da Loja Script PHP Aqui & Marca Shoslh de tecnologia

Especialista em transformar ideias em soluções digitais e acelerar o crescimento online.

Deixe um comentário

Tem perguntas? Nos envia sua mensagem 24/7!

(17) 99100-0874

Endereço & Contato

Centro, Interior de São Paulo
E-mail: [email protected]

Links Úteis
BAIXAR APP | SCRIPT PHP AQUI
Certificados
0
    0
    Seu carrinho
    Seu carrinho está vazio

    Usamos cookies para garantir que oferecemos a melhor experiência em nosso site. 

       

    X

    Clique em um de nossos representantes abaixo para conversar no WhatsApp ou envie um email para: 📧 [email protected]

    Precisa de ajuda fale conosco?