Testes Java do zero: roteiro para iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

"Código sem testes é legado": por que você deve começar hoje mesmo

\n\n

Imagine: você escreveu um aplicativo em Java. Ele funciona. Mas você tem medo de mudar algo, porque um movimento errado e tudo desmorona. Familiar? Bem-vindo ao mundo onde testes Java não são um capricho, mas uma habilidade de sobrevivência.

\n\n

Muitos desenvolvedores iniciantes adiam os testes "para depois". Tipo, primeiro aprendo a escrever código, depois eu vejo. Mas a verdade é que testes unitários Java não são uma carga extra, mas sim seu cabo de segurança. Eles fazem você escrever um código mais limpo, modular e compreensível. E sim, os empregadores valorizam muito os desenvolvedores que sabem cobrir o código com testes.

\n\n

Neste artigo, vamos abordar por onde começar os testes Java para iniciantes. Você conhecerá as principais ferramentas — JUnit e Mockito, escreverá seus primeiros testes e entenderá como não cair no "testar por testar". Vamos lá!

\n\n

Passo 1: Configuração do ambiente — sua primeira bancada de testes

\n\n

Antes de escrever testes, é preciso preparar o ambiente. A boa notícia: para automação de testes Java, você não precisa de nada extraordinário. Tudo o que você já tem — JDK e IDE (IntelliJ IDEA ou Eclipse).

\n\n

Maven ou Gradle — escolhendo o gerenciador de build

\n\n

Projetos Java modernos raramente dispensam um sistema de build. Usaremos Maven — ele é o padrão de facto para a maioria dos projetos. Aqui está o pom.xml mínimo com dependências para testes:

\n\n
<dependencies>\n    <!-- JUnit 5 — framework principal para testes -->\n    <dependency>\n        <groupId>org.junit.jupiter</groupId>\n        <artifactId>junit-jupiter-api</artifactId>\n        <version>5.10.0</version>\n        <scope>test</scope>\n    </dependency>\n    \n    <!-- Mockito para criar objetos mock -->\n    <dependency>\n        <groupId>org.mockito</groupId>\n        <artifactId>mockito-core</artifactId>\n        <version>5.6.0</version>\n        <scope>test</scope>\n    </dependency>\n</dependencies>
\n\n

Observe o <scope>test</scope> — essas bibliotecas não irão para a compilação final do aplicativo, são necessárias apenas para executar os testes.

\n\n

Passo 2: JUnit — seu primeiro teste real

\n\n

JUnit é a base sobre a qual se constroem todos os testes Java. Com ele, você escreve testes unitários: verifica o funcionamento de um método ou classe isoladamente.

\n\n

Escrevendo o primeiro teste

\n\n

Suponha que temos uma calculadora simples:

\n\n
public class Calculator {\n    public int add(int a, int b) {\n        return a + b;\n    }\n    \n    public int divide(int a, int b) {\n        if (b == 0) {\n            throw new IllegalArgumentException("Não é possível dividir por zero!");\n        }\n        return a / b;\n    }\n}
\n\n

Agora vamos escrever um teste para ela. Crie uma classe na pasta src/test/java:

\n\n
import org.junit.jupiter.api.Test;\nimport static org.junit.jupiter.api.Assertions.*;\n\nclass CalculatorTest {\n    \n    private final Calculator calculator = new Calculator();\n    \n    @Test\n    void testAdd() {\n        // Arrange (preparação)\n        int a = 2;\n        int b = 3;\n        \n        // Act (ação)\n        int result = calculator.add(a, b);\n        \n        // Assert (verificação)\n        assertEquals(5, result, "2 + 3 deve ser igual a 5");\n    }\n    \n    @Test\n    void testDivideByZero() {\n        // Verifica se o método lança exceção\n        assertThrows(IllegalArgumentException.class, \n            () -> calculator.divide(10, 0));\n    }\n}
\n\n

Execute o teste — a barra verde na IDE dirá que tudo funciona. Parabéns, você acabou de dar o primeiro passo no unit testing Java.

Blogs

Book Recommendations