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
- Configuração do PHPUnit e primeiro teste
- Asserções e métodos de teste
- Provedores de dados para testes parametrizados
- Simulação de dependências com PHPUnit