Intern
O que é um teste unitário?
sobes.tech IA
Resposta da IA
O teste unitário é um método de teste de software em que partes mínimas do código (unidades, geralmente funções, métodos ou classes) são isoladas e verificadas para garantir que correspondam ao seu comportamento esperado.
Objetivos dos testes unitários:
- Verificação de lógica: Verificar a correção de uma seção específica do código isoladamente.
- Detecção precoce de defeitos: Identificação de erros na fase de desenvolvimento, quando sua correção é mais barata.
- Facilitação da refatoração: Garantir que alterações no código não quebrem funcionalidades existentes.
- Documentação: Os testes unitários podem servir como exemplo de uso do código.
- Melhoria do design do código: Escrever código testável muitas vezes leva a um design mais modular e compreensível.
Características principais dos testes unitários:
- Automatização: Executados automaticamente por frameworks de testes.
- Isolamento: Teste de uma unidade, minimizando dependências de sistemas externos (bancos de dados, rede, sistema de arquivos), frequentemente usando mocks ou stubs.
- Rapidez de execução: Devem ser executados muito rapidamente para serem rodados frequentemente (por exemplo, a cada alteração de código ou antes de um commit).
- Determinismo: O resultado do teste deve ser o mesmo em cada execução, se o código testado não mudou.
Exemplo em Python usando pytest:
def add(a, b):
"""Soma dois números."""
return a + b
def test_add_positive_numbers():
# Verificação de soma de dois números positivos
assert add(2, 3) == 5
def test_add_negative_numbers():
# Verificação de soma de dois números negativos
assert add(-1, -5) == -6
def test_add_zero():
# Verificação de soma com zero
assert add(0, 7) == 7