Published on

Como criar um teste unitário em Java?

Authors

Título: Como criar um teste unitário em Java?

Introdução: Se você é um desenvolvedor Java, já deve ter ouvido falar sobre a importância dos testes unitários. No entanto, pode ser um desafio entender como implementá-los efetivamente. Neste artigo, vamos mergulhar no mundo dos testes unitários em Java e explorar exemplos práticos para ajudar a aprimorar suas habilidades de teste.

Por que Testes Unitários são Cruciais: Antes de nos aprofundarmos nos exemplos de código, é fundamental compreender por que os testes unitários são essenciais. Eles garantem que cada componente individual do seu código funcione conforme o esperado, permitindo a detecção precoce de erros e simplificando a manutenção do código ao longo do tempo.

Exemplo 1: Testando uma Classe Simples em Java

Considere a seguinte classe Java simples:

public class Calculadora {
    public int somar(int a, int b) {
        return a + b;
    }
}

Agora, vamos criar um teste unitário para a classe Calculadora usando o framework de teste JUnit:

import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class CalculadoraTest {

    @Test
    public void testSomar() {
        Calculadora calculadora = new Calculadora();
        int resultado = calculadora.somar(2, 3);
        assertEquals(5, resultado);
    }
}

Este é um exemplo simples de como você pode testar o método somar da classe Calculadora. O método assertEquals compara o resultado esperado com o resultado real.

Exemplo 2: Testando Exceções

Às vezes, é crucial testar se seu código lida corretamente com exceções. Vamos modificar a classe Calculadora para lançar uma exceção quando a soma ultrapassa um determinado limite:

public class Calculadora {
    public int somar(int a, int b) {
        int resultado = a + b;
        if (resultado > 100) {
            throw new IllegalArgumentException("A soma ultrapassou o limite permitido");
        }
        return resultado;
    }
}

Agora, adaptamos nosso teste para lidar com essa exceção:

import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThrows;

public class CalculadoraTest {

    @Test
    public void testSomar() {
        Calculadora calculadora = new Calculadora();
        int resultado = calculadora.somar(50, 50);
        assertEquals(100, resultado);
    }

    @Test
    public void testSomarComExcecao() {
        Calculadora calculadora = new Calculadora();
        assertThrows(IllegalArgumentException.class, () -> calculadora.somar(80, 30));
    }
}

Agora, temos dois testes: um para verificar uma soma normal e outro para garantir que a exceção seja lançada quando necessário.

Conclusão: Os testes unitários em Java são uma prática fundamental para garantir a qualidade do seu código. Esses exemplos oferecem apenas uma introdução ao vasto mundo dos testes, e espero que você se sinta mais confiante ao começar a implementar testes em seus próprios projetos Java. Lembre-se, quanto mais você pratica, mais natural se torna o processo de desenvolvimento orientado a testes.