JUnit 5 para Java: guia completo com exemplos

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

Introdução ao JUnit 5

\n\n

JUnit 5 é um framework moderno para testes unitários (unit testing) na linguagem Java. Ele é a evolução do popular JUnit 4 e faz parte do ecossistema Java como o padrão de facto para escrever testes automatizados. JUnit 5 não é apenas uma atualização, mas uma arquitetura completamente reformulada, composta por três subprojetos: JUnit Platform (execução de testes), JUnit Jupiter (novo modelo de programação e extensões) e JUnit Vintage (compatibilidade reversa com JUnit 3/4).

\n\n

Por que usar JUnit 5? No desenvolvimento moderno (especialmente em metodologias TDD — Test-Driven Development), testar não é uma opção, mas uma etapa obrigatória. JUnit 5 permite:

\n
    \n
  • Automatizar a verificação de código: Executar centenas de testes com um único comando.
  • \n
  • Garantir confiabilidade de regressão: Certificar-se de que o novo código não quebrou funcionalidades antigas.
  • \n
  • Melhorar o design do código: O código testável geralmente é mais modular e com baixo acoplamento.
  • \n
  • Documentar o comportamento: Os testes servem como documentação viva, mostrando como uma classe ou método deve funcionar.
  • \n
  • Integrar-se em CI/CD: JUnit 5 integra-se facilmente com Maven, Gradle, Jenkins, GitHub Actions.
  • \n
\n\n

Principais novidades do JUnit 5 em comparação com o JUnit 4: anotações de nova geração (@Test, @ParameterizedTest, @Nested), sistema poderoso de extensões (Extensions), suporte a expressões lambda e APIs de fluxo, além de suporte integrado para testes parametrizados e dinâmicos.

\n\n

Instalação do JUnit 5

\n\n

Como Java é uma linguagem compilada, a instalação é feita através de gerenciadores de dependências (Maven ou Gradle). JUnit 5 não é instalado via pip ou npm. Abaixo estão as instruções para os dois sistemas de build mais populares.

\n\n

Instalação via Maven (pom.xml)

\n

Adicione as seguintes dependências ao seu arquivo pom.xml. Recomenda-se usar a versão estável mais recente (no momento da escrita — 5.11.0, verifique a versão atual em MVNRepository).

\n
<dependencies>\n    <!-- Módulo principal do JUnit Jupiter (inclui API, Engine e parametrização) -->\n    <dependency>\n        <groupId>org.junit.jupiter</groupId>\n        <artifactId>junit-jupiter</artifactId>\n        <version>5.11.0</version>\n        <scope>test</scope>\n    </dependency>\n    <!-- (Opcional) Para compatibilidade com JUnit 4 -->\n    <dependency>\n        <groupId>org.junit.vintage</groupId>\n        <artifactId>junit-vintage-engine</artifactId>\n        <version>5.11.0</version>\n        <scope>test</scope>\n    </dependency>\n</dependencies>
\n\n

Instalação via Gradle (build.gradle)

\n

Adicione na seção dependencies:

\n
dependencies {\n    testImplementation 'org.junit.jupiter:junit-jupiter:5.11.0'\n    // (Opcional) Para JUnit 4\n    testImplementation 'org.junit.vintage:junit-vintage-engine:5.11.0'\n}\n\ntest {\n    useJUnitPlatform() // Obrigatório para habilitar JUnit 5\n}
\n\n

Instalação sem sistema de build (Plain Java)

\n

Se você não usa Maven/Gradle, baixe os arquivos JAR do repositório oficial e adicione-os ao classpath do seu projeto. No entanto, isso é altamente desaconselhado para projetos reais.

\n\n

Início rápido: primeiro teste com JUnit 5

\n\n

Vamos criar uma classe simples Calculator e escrever um teste para ela.

\n\n

1. Classe a ser testada (Calculator.java):

\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                    

Recommendations