0Pricing
Zig Academy · Aula

Asserções com std.testing

expect, expectEqual e funções relacionadas.

Asserções com std.testing é uma aula grátis de Zig 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 Zig Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Zig Academy inclui 4 aulas no total.

O namespace testing

Os auxiliares de asserção do Zig ficam em std.testing. Importe-o com um nome curto para que cada verificação fique clara dentro dos seus blocos de teste.

const testing = std.testing;

expect para valores booleanos

O auxiliar mais simples é expect. Ele recebe um booleano e faz o teste falhar quando essa condição é falsa.

try testing.expect(value > 0);

Os auxiliares retornam erros

Todo auxiliar de teste retorna um erro quando falha, então você sempre o prefixa com try. É isso que faz o teste parar e informar o problema.

expectEqual para valores

Para comparar dois valores, use expectEqual. Ele verifica a igualdade e, em caso de falha, exibe tanto o valor esperado quanto o valor real.

try testing.expectEqual(5, add(2, 3));

O valor esperado vem primeiro

Com expectEqual, o primeiro argumento é o valor esperado e o segundo é o que seu código produziu. A ordem define a mensagem de falha.

try testing.expectEqual(42, result);

Comparando fatias

Duas fatias são iguais quando seus elementos correspondem, não quando seus ponteiros são iguais. Use expectEqualSlices e informe o tipo dos elementos.

try testing.expectEqualSlices(u8, "hi", out);

Comparando strings

Para texto, expectEqualStrings compara duas fatias de bytes e exibe uma diferença legível quando elas divergem, o que é perfeito para verificar saídas.

try testing.expectEqualStrings("ok", msg);

Fazendo asserção sobre um erro

Às vezes, uma chamada deve falhar. Envolva-a em expectError para verificar que ela retorna um erro específico, e não um valor.

try testing.expectError(error.Bad, parse("x"));

Floats aproximados

Valores de ponto flutuante raramente coincidem exatamente. Use expectApproxEqAbs com uma pequena tolerância para que diferenças mínimas de arredondamento não façam seu teste falhar.

try testing.expectApproxEqAbs(1.0, x, 0.001);

Leia a saída da falha

Quando uma asserção falha, o Zig exibe os valores esperado e real diretamente no relatório. Essa diferença geralmente aponta diretamente para o erro.

Escolha o auxiliar correto

Combine o auxiliar com os dados: expectEqual para escalares, auxiliares de fatias e strings para sequências e expectError para o caminho de falha.

Verificação rápida

Você precisa verificar que dois valores de texto são exatamente iguais em um teste. Qual auxiliar é mais adequado?

Recapitulação

Você aprendeu sobre o conjunto de ferramentas std.testing: expect, expectEqual, verificações de fatias e strings, além de expectError. Cada um precisa de try antes. ✅

Perguntas Frequentes

A aula “Asserções com std.testing” é grátis?

Sim — o texto completo de “Asserções com std.testing” é 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 Zig Academy, atualize para CoddyKit PRO. O curso de Zig Academy inclui 4 aulas no total.

O que vou aprender em “Asserções com std.testing”?

expect, expectEqual e funções relacionadas. Você pratica Zig 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 Zig Academy?

Nenhuma experiência prévia é necessária. Zig 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 com std.testing”?

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 Zig Academy?

Sim. Cada aula de Zig 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. Escrevendo blocos test
  2. Asserções com std.testing
  3. O alocador de testes detecta vazamentos
  4. Executando e filtrando testes
← Voltar para Zig Academy