DEV Community

Bruno Barros
Bruno Barros

Posted on

Introdução aos Testes Unitários com Pest em PHP

Neste tutorial, vamos explorar os fundamentos dos testes unitários em PHP usando a biblioteca Pest. Pest é um framework de teste moderno, simples e elegante, que oferece uma sintaxe limpa e amigável para escrever testes.

Pré-requisitos

Antes de prosseguirmos, certifique-se de ter o seguinte instalado em sua máquina:

  • PHP (versão mínima 7.3 ou superior)
  • Composer (um gerenciador de dependências para PHP)

Instalação do Pest

Para instalar o Pest em seu projeto PHP, execute o seguinte comando no terminal:

composer require pestphp/pest --dev

Configuração do Pest

Após a instalação, crie um arquivo de configuração chamado pest.php na raiz do seu projeto. Aqui está um exemplo básico de configuração:

<?php

return [
    'paths' => [
        'app',
    ],
];
Enter fullscreen mode Exit fullscreen mode

Neste exemplo, estamos configurando o diretório de testes para app, onde os testes serão armazenados.

Escrevendo Testes

Crie um diretório chamado tests na raiz do seu projeto. Dentro deste diretório, você pode começar a escrever seus testes.

Vamos criar um teste simples para uma classe de exemplo. Crie um arquivo chamado ExampleTest.php dentro do diretório tests com o seguinte conteúdo:

<?php

use App\Example; // Suponha que esta seja a classe que estamos testando

it('can instantiate Example', function () {
    $example = new Example();

    expect($example)->toBeInstanceOf(Example::class);
});

it('can get the name', function () {
    $example = new Example();
    $name = $example->getName();

    expect($name)->toBe('Example');
});
Enter fullscreen mode Exit fullscreen mode

Para executar:

vendor/bin/pest

Isso iniciará a execução dos testes no diretório tests e mostrará o resultado no terminal.

Conclusão

Este tutorial cobre os conceitos básicos dos testes unitários em PHP usando Pest. Recomenda-se explorar a documentação oficial do Pest para aprender mais sobre recursos avançados e boas práticas de teste.

Top comments (0)