Exercícios: Aula 12 - Testes Automatizados 🧪
🟢 Básico
- Comandos: Qual o comando do Artisan para rodar toda a sua suíte de testes e como você pode rodar apenas um arquivo de teste específico?
- Conceito: Explique a principal diferença entre um teste de Unidade (Unit) e um teste de Funcionalidade (Feature) no contexto do Laravel.
🟡 Intermediário
- Asserções: Crie um teste de Feature que acesse a rota
/api/statuse verifique: se o status code é 200 e se o JSON retornado contém a chave"status" => "online". - Database Testing: O que o trait
RefreshDatabasefaz quando adicionado a uma classe de teste? Por que ele é fundamental para testes que interagem com o banco?
🔴 Desafio
5. TDD na Prática: Escreva o plano de teste (em passos) para uma funcionalidade de "Esqueci minha senha". O que você testaria primeiro e quais seriam as asserções finais para garantir que o e-mail foi realmente disparado?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: Comandos **Resolução e Implementação:**// Estrutura de implementação recomendada para Comandos
// Validação de regras de negócio e retorno consistente
// Estrutura de implementação recomendada para Asserções
// Validação de regras de negócio e retorno consistente