0Pricing
PHP Academy · Aula

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

  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