O que é Teste Unitário?

O teste unitário consiste em verificar o comportamento das menores unidades de uma aplicação, como uma classe ou método em linguagens orientadas a objetos, ou funções e procedimentos em linguagens processuais e funcionais.

O que caracteriza um Teste Unitário?

Segundo Michael Feathers, os testes unitários precisam funcionar isoladamente e rapidamente. Eles não devem depender de processos ou sistemas externos, como operações de E/S (input/output) envolvendo banco de dados, arquivos, console ou rede. Se houver dependência externa, o teste não é unitário, mas de integração.

<aside> 💡 Testes unitários, assim como qualquer teste automatizados não servem principalmente para verificar se uma função específica está funcionando, mas sim para garantir que sua aplicação continue funcionando após alguma alteração em sua base de código.

</aside>

Propósito dos Testes Unitários

Embora o objetivo mais mencionado dos testes unitários seja validar que cada unidade de trabalho se comporta conforme o esperado, o verdadeiro propósito é fornecer feedback quase instantâneo sobre o design e a implementação do código. A facilidade ou dificuldade em criar esses testes revela o quão testável e bem projetado é o código, ajudando a identificar áreas que podem ser melhoradas.

Quais São os Benefícios dos Testes Unitários?

Os testes unitários proporcionam muitos benefícios.

Como Escrever Testes Unitários (Usando as Melhores Práticas)

  1. Mantenha os Testes Simples e Independentes

    Escreva testes pequenos e focados em uma única responsabilidade. Cada teste deve ser independente dos outros, para que possam ser executados em qualquer ordem sem interferências.