Integration tests verificam API completa: routers, controllers, database. Mais lentos que unitários mas detectam bugs reais.
Carregando
Integration tests verificam API completa: routers, controllers, database. Mais lentos que unitários mas detectam bugs reais.
Integration tests verificam API completa: routers, controllers, database. Mais lentos que unitários mas detectam bugs reais.
DB separado para testes. SQLite in-memory ou Docker container. Seed data antes, cleanup depois.
HTTP assertions. request(app).get("/users"). Testa rotas Express/Fastify. Status, headers, body.
Dados pré-definidos. Users, posts, orders. Consistente entre testes. Factory functions.
Login antes de teste. JWT token em headers. Testa rotas protegidas. Roles e permissions.
• Database isolado para testes
• Seed data antes, cleanup depois
• Teste fluxos completos (CRUD)
• Assert status codes e body
• Teste casos de erro (400, 401, 404)
• Auth em testes protegidos
• Usar database de produção
• Não fazer cleanup (dados vazam)
• Testar apenas happy path
• Testes dependentes de ordem
• Não testar autorização
Quando usar cada um