🚀 Aula Prática: Criando seu primeiro App com Testes
Objetivo: Desenvolver um Conversor de Moedas usando TDD no Windows.
💻 1. Preparando o Ambiente (Windows)
Antes de começar, verifique se você tem:
- Extensões: No VS Code, instale o Extension Pack for Java.
- Criação do Projeto:
- Pressione
Ctrl + Shift + P. - Digite:
Java: Create Java Project. - Selecione
Maven→No Archetype. - Nome do projeto:
conversor-moedas.
- Pressione
📦 2. Configurando o “Cérebro” (pom.xml)
Abra o arquivo pom.xml e adicione a dependência do JUnit 5 dentro da tag <dependencies>:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
Isso permite que o Java entenda os comandos de teste.
🔄 3. O Fluxo TDD: Red, Green, Refactor
Trabalharemos em ciclos:
- 🔴 Red (Vermelho): Escrevemos um teste que dá erro porque o código ainda não existe.
- 🟢 Green (Verde): Escrevemos o código simples para o teste passar.
- 🔵 Refactor (Refatorar): Melhoramos o código mantendo-o funcionando.
📝 4. Etapa 1: O Teste que Falha (RED)
Crie o arquivo src/test/java/ConversorTest.java:
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
public class ConversorTest {
@Test
public void testeConverterDolarParaReal() {
Conversor service = new Conversor();
double resultado = service.converter(10.0);
assertEquals(50.0, resultado); // Esperamos que 10 * 5 = 50
}
}
O VS Code ficará vermelho em Conversor. Não se desespere!
👨💻 5. Etapa 2: Criando a Lógica (GREEN)
Crie o arquivo src/main/java/Conversor.java:
public class Conversor {
public double converter(double valorDolar) {
// Implementação simples para o teste passar
return valorDolar * 5.0;
}
}
Agora, volte ao teste e clique em Run Test. A barra deve ficar verde! ✅
🛡️ 6. Etapa 3: Regras de Negócio (Erro)
E se o valor for negativo? Precisamos de um teste para isso:
@Test
public void testeNaoDeveAceitarValorNegativo() {
Conversor service = new Conversor();
assertThrows(IllegalArgumentException.class, () -> {
service.converter(-1.0);
});
}
Ajuste seu código com um if (valor < 0) para lançar a exceção.
🏆 7. Desafio Final: Sistema de Notas
Sua vez! Aplique o que aprendeu:
- Crie uma classe
CalculadoraNotas. - Crie testes para validar a média de 3 notas.
- Regra: Se a média for >= 7, retorne “APROVADO”.
- Dica: Use
Alt + Shift + Fpara organizar seu código no VS Code!
🏁 Checkpoint de Aprendizado
- O código de teste fica em
src/test/java. - O código do app fica em
src/main/java. - O JUnit é quem valida se o seu código está certo.
- No VS Code, o ícone de “Frasco de Laboratório” mostra todos os seus testes.
⌨️ Dica de Pro: Atalhos e Terminal
Não use o mouse! Turbine sua produtividade:
- Abrir o Terminal:
Ctrl + '(teclado brasileiro) ouCtrl + J. - Rodar todos os testes: Digite
mvn teste aperte Enter. - Formatar código:
Alt + Shift + F(deixa o código bonito). - Importar o que falta:
Ctrl + .(corrige oassertEqualse o@Test).
Vantagem: O comando
mvn testgera um relatório completo no terminal.
Para apresentar, basta clicar no ícone do **Marp** no canto superior direito e selecionar **Toggle Marp Preview**.
Gostaria que eu criasse um guia rápido de solução para os erros mais comuns que os alunos podem encontrar durante essa aula (como `ClassNotFound` ou erros de versão do Java)?