Definição
Teste unitário verifica uma unidade de comportamento, com um limite delimitado pelo projeto. Ele prepara um cenário, executa a ação e compara o resultado com o esperado, usando entradas conhecidas. O teste roda rápido e isola a unidade das demais partes.
Preparação, ação e resultado
Um teste unitário costuma seguir três passos. A preparação monta o estado inicial necessário. A ação executa o comportamento em teste. A verificação compara o resultado com o valor esperado. Nomes claros nos testes ajudam a entender o cenário sem ler o corpo inteiro.
expect(calcularDesconto(100)).toBe(10)
expect(calcularDesconto(500)).toBe(75)O que é uma unidade
A unidade depende do projeto. Ela pode ser uma função, um método, um pequeno conjunto de funções que trabalham juntas ou um módulo. O teste unitário não precisa corresponder rigidamente a uma função ou a uma classe, porque o limite é definido pela forma como o código está organizado.
O teste que passa sem testar
No exemplo do desconto, cada teste usa entradas conhecidas e um resultado esperado. A falha provável é um teste que passa sem exercitar o comportamento, como uma verificação que repete o valor de entrada ou que cobre apenas um caminho. A verificação muda a implementação ou o valor esperado e observa se o teste falha. Um teste que continua verde em qualquer cenário não protege a unidade. Casos de limite, como a compra exatamente no valor que muda a faixa, são os que expõem a mudança de comportamento.
Veja o teste que exercita o limite entre partes: o teste de integraçãoDúvidas frequentes
Perguntas frequentes sobre Teste unitário
- O que um teste unitário verifica?
- Ele verifica uma unidade de comportamento, com preparação, ação e resultado esperado sob entradas conhecidas.
- A unidade precisa ser uma função?
- Não. A unidade depende da organização do projeto e pode ser uma função, um método, um conjunto pequeno de funções ou um módulo.
- Por que os testes unitários rodam rápido?
- Porque isolam a unidade das demais partes, sem depender de rede, banco ou serviços externos.
Para continuar
Recursos relacionados
Artigo
Martin Fowler: UnitTest
Discute o que é um teste unitário e como o termo varia entre projetos.
Abrir recursoDocumentação
Jest: Getting Started
Mostra como escrever e executar testes unitários com o Jest.
Abrir recursoAplicação na formação
Vibe Coding: Do Zero ao MVP
Na Formação Vibe Coding, o teste unitário descreve o comportamento esperado de uma parte do código e sinaliza quando uma mudança quebra esse comportamento.
Conhecer a formaçãoFontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.