Seu código funciona hoje. Mas funciona amanhã, depois de uma alteração?
Testes unitários garantem que cada parte do seu código faz exatamente o que deveria. Neste guia você aprende a criar e executar testes com JUnit 5 direto no IntelliJ IDEA, com exemplos práticos.
⏱️ Tempo: 8 minutos | 📊 Dificuldade: Iniciante | 🛠️ Requisitos: Java 17+, IntelliJ IDEA
❓ O Que É JUnit?
JUnit é o framework de testes mais usado no ecossistema Java. Ele executa pequenos trechos de código (chamados de testes) e verifica se o resultado é o esperado.
Conceito chave: Um teste unitário verifica uma única unidade de código (geralmente um método) de forma isolada.
Passo 1: Preparar o Projeto
1. Abra o IntelliJ e crie um projeto Java (Maven ou Gradle)
2. No pom.xml, adicione a dependência do JUnit 5:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.2</version>
<scope>test</scope>
</dependency>
💡 Dica: Se usar Gradle, adicione testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2' no build.gradle.
Passo 2: Criar a Classe a Ser Testada
Vamos testar uma classe simples de calculadora:
public class Calculadora {
public int somar(int a, int b) {
return a + b;
}
public int dividir(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("Divisão por zero");
}
return a / b;
}
}
Passo 3: Criar a Classe de Teste no IntelliJ
1. Clique com o botão direito na classe Calculadora
2. Escolha Generate → Test... (ou pressione Alt + Insert)
3. Selecione JUnit 5
4. Marque os métodos somar e dividir
5. Clique em OK
O IntelliJ cria automaticamente a classe CalculadoraTest em src/test/java.
Passo 4: Escrever os Testes
Substitua o conteúdo gerado por este exemplo:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class CalculadoraTest {
private final Calculadora calc = new Calculadora();
@Test
void somarDoisNumerosPositivos() {
assertEquals(5, calc.somar(2, 3));
}
@Test
void somarComNumerosNegativos() {
assertEquals(-5, calc.somar(-2, -3));
}
@Test
void dividirNumerosExatos() {
assertEquals(2, calc.dividir(10, 5));
}
@Test
void dividirPorZeroDeveLancarExcecao() {
assertThrows(IllegalArgumentException.class,
() -> calc.dividir(10, 0));
}
}
Passo 5: Executar os Testes
Opção 1: Clique no ícone ▶️ verde ao lado da classe ou do método
Opção 2: Pressione Ctrl + Shift + F10 com o cursor dentro do teste
Opção 3: Clique com botão direito na classe → Run 'CalculadoraTest'
Na aba Run inferior aparece a árvore de resultados. Verde = passou, vermelho = falhou.
Principais Assertions
| Método | Para que serve |
|---|---|
assertEquals(esperado, real) |
Verifica igualdade |
assertTrue(condicao) |
Verifica se é verdadeiro |
assertFalse(condicao) |
Verifica se é falso |
assertNull(objeto) |
Verifica se é nulo |
assertThrows(Exception.class, ...) |
Verifica se lança exceção |
✅ Boas Práticas
✔ Um teste verifica um único comportamento
✔ Nomes descritivos (ex: dividirPorZeroDeveLancarExcecao)
✔ Padrão AAA: Arrange, Act, Assert
✔ Testes independentes (não dependem uns dos outros)
🎯 Conclusão
Com JUnit 5 e IntelliJ, você cria testes em poucos cliques e os executa com um atalho. Comece pelos métodos mais críticos do seu código e expanda a cobertura aos poucos.