0Pricing
PHP Academy · Aula

Configuração do PHPUnit e primeiro teste

Instale o PHPUnit via Composer e escreva sua primeira classe de teste.

Configuração do PHPUnit e primeiro teste é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.

O que é o PHPUnit?

PHPUnit é a estrutura padrão de testes unitários do PHP. Ela permite escrever testes automatizados que verificam unidades individuais de código de forma isolada.

Instalando o PHPUnit

Instale-o pelo Composer como uma dependência de desenvolvimento.

$ composer require --dev phpunit/phpunit "^11.0"

Configuração do phpunit.xml

Crie um arquivo phpunit.xml para configurar o conjunto de testes.

<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
         bootstrap="vendor/autoload.php">
    <testsuites>
        <testsuite name="Unit">
            <directory>tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>

Escrevendo uma classe de teste

Estenda PHPUnit\Framework\TestCase. Cada método público com o prefixo test é um teste.

<?php
use PHPUnit\Framework\TestCase;

class CalculatorTest extends TestCase
{
    public function test_addition(): void
    {
        $calc = new Calculator();
        $this->assertEquals(5, $calc->add(2, 3));
    }
}

A classe em teste

A classe Calculator que está sendo testada:

<?php
class Calculator
{
    public function add(int $a, int $b): int
    {
        return $a + $b;
    }
}

Executando testes

Execute o PHPUnit a partir da raiz do projeto.

$ vendor/bin/phpunit
...
OK (1 test, 1 assertion)

Convenções de nomenclatura de testes

Há dois estilos: test_method_name() (snake_case com o prefixo test) ou use a anotação @test sem o prefixo.

<?php
/** @test */
public function addition_returns_correct_sum(): void
{
    $this->assertEquals(5, (new Calculator())->add(2, 3));
}

Estrutura de diretórios

Organização comum: os testes reproduzem a estrutura de src.

src/Calculator.php       → Calculator
tests/CalculatorTest.php → CalculatorTest

setUp() e tearDown()

Execute código antes e depois de cada método de teste. Use setUp() para criar o objeto em teste.

<?php
protected function setUp(): void
{
    $this->calc = new Calculator();
}

public function test_add(): void
{
    $this->assertEquals(7, $this->calc->add(3, 4));
}

setUpBeforeClass() e tearDownAfterClass()

Execute código uma vez antes e depois de todos os testes da classe — útil para configurações dispendiosas, como conexões com o banco de dados.

Cobertura de código

Gere um relatório de cobertura (requer Xdebug ou PCOV):

$ vendor/bin/phpunit --coverage-html coverage/

Resumo

Instale o PHPUnit como dependência de desenvolvimento pelo Composer. Crie uma subclasse de TestCase com métodos test_*(). Execute com vendor/bin/phpunit. Use setUp() para criar objetos compartilhados.

Verificação rápida

De qual classe base as classes de teste do PHPUnit devem herdar?

Perguntas Frequentes

A aula “Configuração do PHPUnit e primeiro teste” é grátis?

Sim — o texto completo de “Configuração do PHPUnit e primeiro teste” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.

O que vou aprender em “Configuração do PHPUnit e primeiro teste”?

Instale o PHPUnit via Composer e escreva sua primeira classe de teste. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar PHP Academy?

Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Configuração do PHPUnit e primeiro teste”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de PHP Academy?

Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Configuração do PHPUnit e primeiro teste
  2. Asserções e métodos de teste
  3. Provedores de dados para testes parametrizados
  4. Simulação de dependências com PHPUnit
← Voltar para PHP Academy