Digite para filtrar os verbetes do Glossário.

    Git e qualidade · Vibe Coding: Do Zero ao MVP

    O que é Teste unitário?

    Teste unitário verifica uma unidade de comportamento isolada com entradas conhecidas. Entenda preparação, resultado esperado e alcance da cobertura.

    Também chamado de: unit test, teste de unidade

    O que é um teste unitário

    Teste unitário verifica uma unidade de comportamento sob condições conhecidas. Ele prepara uma situação, executa o código e compara o resultado com uma expectativa definida para aquela entrada. Ao testar um cálculo de desconto, por exemplo, você informa o total da compra e confere o desconto devolvido pela função.

    A unidade pode ser uma função ou um conjunto pequeno de partes que trabalham juntas. O alcance deve ajudar a entender qual comportamento falhou, sem exigir uma correspondência rígida entre cada função e cada teste.

    Preparar, executar e verificar

    A preparação fornece as entradas e o estado necessário para o cenário. Depois da ação, a verificação compara o resultado observado com o esperado e deve falhar quando essa expectativa não é atendida.

    Defina o resultado esperado a partir do comportamento especificado para o produto. Se uma compra deve receber 1.000 centavos de desconto, esse é o resultado a comparar com a função. Chamar a própria função para obter a expectativa faria o teste aceitar o mesmo cálculo incorreto dos dois lados da comparação.

    Escolher os colaboradores do cenário

    Alguns testes executam colaboradores reais da unidade, enquanto outros usam substitutos como mocks. As duas abordagens aparecem na prática, e a escolha depende do alcance pretendido e do que precisa ser controlado.

    Comunicação remota costuma exigir atenção porque pode acrescentar espera e resultados variáveis. Testes pequenos e previsíveis permitem verificações frequentes, mas velocidade sozinha não define se um teste é unitário.

    Evitar resultados dependentes da ordem

    Um teste pode alterar uma configuração compartilhada e afetar o cenário seguinte. Prepare o estado necessário e restaure o que foi modificado conforme o mecanismo da ferramenta, para que cada resultado tenha uma explicação própria.

    Datas e horários também precisam de tratamento explícito quando determinam o resultado. Para testar uma promoção que termina às 18h, forneça ao cenário um horário conhecido e confira o comportamento próximo do encerramento. Usar o relógio real faria o teste mudar de resultado ao longo do dia sem nenhuma alteração no código.

    Examinar o que a verificação detecta

    Leia a comparação final e pergunte qual erro ela conseguiria revelar. No exemplo do desconto, os casos devem distinguir inclusão e exclusão do limite, além de conferir o valor concedido.

    Cobertura de execução não demonstra que essas diferenças foram examinadas. Uma linha pode ser executada sem que o teste compare o resultado relevante, enquanto entradas ausentes continuam sem verificação.

    Para revisar testes de uma função gerada ou alterada com IA, o Desenvolvimento Colaborativo da Dev Side Studio permite examinar os resultados esperados e executar os cenários com orientação ao vivo. Você trabalha no editor e confere se as expectativas representam o comportamento pretendido.

    Dúvidas frequentes

    Perguntas frequentes sobre Teste unitário

    A unidade precisa ser uma única função?
    Não. Ela pode ser uma função, uma classe ou um pequeno conjunto que representa um comportamento. O projeto precisa deixar esse alcance compreensível.
    Toda dependência precisa de mock?
    Não. Há testes unitários que usam colaboradores reais e outros que os substituem. O importante é entender o comportamento verificado e controlar as condições do cenário.
    Executar todas as linhas comprova o comportamento?
    Não. Cobertura informa quais partes foram exercitadas conforme a métrica usada. A qualidade das verificações e os casos ausentes precisam ser examinados separadamente.
    Por que testar valores próximos de um limite?
    Uma comparação pode aceitar valores acima do mínimo e recusar por engano o próprio mínimo. Testar abaixo, no limite e acima dele distingue esses comportamentos. Use valores compatíveis com a entrada, como centavos inteiros em um cálculo monetário.

    Para continuar

    Recursos relacionados

    Aplicação na formação

    Vibe Coding: Do Zero ao MVP

    Testes unitários conferem comportamentos de partes do código para detectar diferenças após alterações no projeto.

    Conhecer a formação
    Capa da Formação Vibe Coding do Zero ao MVP

    Fontes consultadas

    Referências deste verbete

    Este verbete ajudou você?

    Planos Promovaweb

    Tire seus projetos do papel

    O Plano Martech cobre automação e atendimento. O Plano IA Makers acrescenta desenvolvimento com IA, enquanto o Plano Founders trata de gestão de negócios. Todos são anuais.

    Plano Martech

    Para conectar automação, marketing e atendimento com infraestrutura própria.

    R$ 897

    R$ 597/ano

    • Grade de automação, atendimento, marketing e análise de indicadores
    • Instalador Exclusivo Promovaweb
    • n8n, Evolution API, Chatwoot e Mautic
    • Trilha DevOps incluída
    • Encontros ao vivo (terça e quinta)
    • Comunidade e acompanhamento
    Conhecer o plano

    Plano Founders

    Plano anual para fazer um projeto de tecnologia avançar, com 90 dias de mentoria intensiva. R$ 1.997 à vista ou até 10x de R$ 219 no cartão.

    R$ 1.997/ano

    • 12 meses de acesso ao Founders
    • 90 dias de mentoria intensiva, um encontro por dia útil
    • Dia de conteúdo (terça e quinta) e War Room (segunda, quarta e sexta)
    • Encontro semanal em grupo após a fase intensiva
    • Formação Vibe Coding incluída no plano anual
    • Consultoria individual de até duas horas (bônus)
    Conhecer o plano