Junior
O que é o teste de unidade e quais são os seus principais objetivos?
sobes.tech IA
Resposta da IA
O teste unitário é um método de teste de software em que as partes mais pequenas e isoladas do código fonte (unidades), independentes funcionalmente, são testadas. Geralmente, uma unidade é um método ou uma classe.
Objetivos principais:
- Garantia de correção: Verificar se cada parte individual do programa funciona como esperado em isolamento.
- Facilitação da depuração: Localizar defeitos nas fases iniciais do desenvolvimento, tornando a sua correção menos dispendiosa.
- Melhoria do design: Escrever código testável frequentemente leva a um código mais modular e bem projetado.
- Manutenção do refatoramento: A capacidade de alterar a estrutura do código de forma segura, confiando que a funcionalidade existente não será afetada.
- Documentação: Os testes podem servir como exemplos de uso do código, documentando o seu comportamento.
- Redução de custos: Detectar e corrigir erros nas fases iniciais é muito mais barato do que em fases posteriores ou em produção.
Exemplo de um teste unitário simples usando JUnit:
// src/test/java/com/example/CalculatorTest.java
package com.example;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class CalculatorTest {
@Test
void testAdd() {
Calculator calculator = new Calculator();
int result = calculator.add(2, 3);
assertEquals(5, result, "Espera-se que a soma de 2 e 3 seja 5"); // Verifica que 2 + 3 = 5
}
@Test
void testSubtract() {
Calculator calculator = new Calculator();
int result = calculator.subtract(5, 2);
assertEquals(3, result, "Espera-se que a diferença de 5 e 2 seja 3"); // Verifica que 5 - 2 = 3
}
}
// src/main/java/com/example/Calculator.java
package com.example;
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
}