
Testes end-to-end
Supertest, banco de dados de teste, fixtures, autenticação nos testes, testes de API
1O que é um teste E2E (end-to-end) no contexto do NestJS?
O que é um teste E2E (end-to-end) no contexto do NestJS?
Resposta
Um teste E2E valida o fluxo completo da aplicação, da requisição HTTP até a resposta, passando por todas as camadas (controller, service, database). Diferente dos testes unitários que isolam um componente, os testes E2E verificam que a integração de todos os componentes funciona corretamente. Isso permite detectar bugs de integração que os testes unitários não conseguem capturar.
2Qual é a biblioteca recomendada pelo NestJS para testes E2E?
Qual é a biblioteca recomendada pelo NestJS para testes E2E?
Resposta
Supertest é a biblioteca recomendada para testes E2E no NestJS porque permite testar os endpoints HTTP sem iniciar o servidor em uma porta de rede. Ela cria uma instância isolada da aplicação e envia requisições HTTP simuladas diretamente. Isso torna os testes mais rápidos, mais confiáveis e evita conflitos de portas entre testes paralelos.
3Como obter a instância do servidor HTTP para o Supertest em um teste NestJS?
Como obter a instância do servidor HTTP para o Supertest em um teste NestJS?
Resposta
O método app.getHttpServer() retorna a instância do servidor HTTP subjacente (Express ou Fastify) que pode ser passada ao Supertest para fazer requisições de teste. Esse método fica disponível após criar o módulo de teste com Test.createTestingModule(). Ele permite que o Supertest acesse diretamente o servidor sem precisar iniciá-lo em uma porta de rede.
Em qual arquivo os testes E2E são tipicamente colocados em um projeto NestJS?
Qual método do Supertest permite verificar o status code de uma resposta HTTP?
+17 perguntas de entrevista
Outros temas de entrevista Node.js / NestJS
Fundamentos do Node.js
APIs Core do Node.js
Programação assíncrona
Fundamentos do Express.js
Fundamentos do NestJS
Design de API REST
Validação e DTO
Documentação de API e contratos
Tratamento de erros
Testes unitários
Agendamento de tarefas
Módulos e DI do NestJS
Configuração e gerenciamento de ambientes
Autenticação JWT
Autorização e RBAC
Banco de dados com TypeORM
Prisma ORM
Middleware e Interceptors
Upload de arquivos
WebSockets
GraphQL com NestJS
Cache com Redis
Filas com Bull
DevOps, Logging e CI/CD
Docker e Conteinerização
Microservices
Melhores práticas de segurança
Desempenho e implantação na nuvem
Domine Node.js / NestJS para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis