Asserções e métodos de teste
Use assertEquals, assertSame, assertNull e outras asserções.
Asserções e métodos de teste é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 2 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 são asserções?
As asserções verificam se a saída real do código corresponde ao valor esperado. O PHPUnit oferece uma biblioteca abrangente de métodos de asserção.
assertEquals versus assertSame
assertEquals usa comparação flexível (==). assertSame usa comparação estrita (===) — verifica o tipo E o valor.
<?php
$this->assertEquals(0, false); // passes (0 == false)
$this->assertSame(0, false); // FAILS (0 !== false)assertTrue e assertFalse
Teste se um valor é exatamente true ou exatamente false.
<?php
$this->assertTrue(is_string("hello"));
$this->assertFalse(is_numeric("abc"));assertNull e assertNotNull
Verifique se um valor é nulo.
<?php
$user = $repo->find(999);
$this->assertNull($user);
$user = $repo->find(1);
$this->assertNotNull($user);assertCount
Verifique se um valor contável tem o número esperado de elementos.
<?php
$items = $cart->getItems();
$this->assertCount(3, $items);assertStringContainsString
Verifique se uma cadeia de caracteres contém uma subcadeia (com distinção entre maiúsculas e minúsculas).
<?php
$html = $template->render();
$this->assertStringContainsString("<h1>Welcome</h1>", $html);assertInstanceOf
Verifique se um objeto é uma instância de determinada classe ou interface.
<?php
$handler = $factory->create("email");
$this->assertInstanceOf(EmailHandler::class, $handler);assertThrows / expectException
Espere que uma exceção seja lançada durante o teste.
<?php
public function test_throws_on_invalid_input(): void
{
$this->expectException(\InvalidArgumentException::class);
$this->expectExceptionMessage("must be positive");
new Product(-1);
}assertArrayHasKey
Verifique se um array contém uma chave específica.
<?php
$result = $api->getUser(1);
$this->assertArrayHasKey("email", $result);
$this->assertArrayHasKey("id", $result);assertEqualsWithDelta
Compare números de ponto flutuante dentro de uma tolerância (delta).
<?php
$this->assertEqualsWithDelta(3.14159, M_PI, 0.001);Mensagens de falha personalizadas
Passe uma mensagem como último argumento para qualquer asserção a fim de melhorar a saída de falha do teste.
<?php
$this->assertEquals(200, $response->status(), "Expected HTTP 200 OK response");Resumo
Use assertSame para igualdade estrita, assertEquals para comparação flexível e asserções especializadas, como assertInstanceOf, assertCount e assertThrows, para testes claros.
Verificação rápida
Qual asserção também verifica o tipo do valor?
Perguntas Frequentes
A aula “Asserções e métodos de teste” é grátis?
Sim — o texto completo de “Asserções e métodos de 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 “Asserções e métodos de teste”?
Use assertEquals, assertSame, assertNull e outras asserções. 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 2 de 4.
Quanto tempo leva a aula “Asserções e métodos de 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