
Pruebas end-to-end
Supertest, base de datos de prueba, fixtures, autenticación en las pruebas, testing de API
1¿Qué es una prueba E2E (end-to-end) en el contexto de NestJS?
¿Qué es una prueba E2E (end-to-end) en el contexto de NestJS?
Respuesta
Una prueba E2E valida el flujo completo de la aplicación, desde la solicitud HTTP hasta la respuesta, pasando por todas las capas (controller, service, database). A diferencia de las pruebas unitarias que aíslan un componente, las pruebas E2E verifican que la integración de todos los componentes funciona correctamente. Esto permite detectar bugs de integración que las pruebas unitarias no pueden capturar.
2¿Cuál es la librería recomendada por NestJS para las pruebas E2E?
¿Cuál es la librería recomendada por NestJS para las pruebas E2E?
Respuesta
Supertest es la librería recomendada para las pruebas E2E en NestJS porque permite probar los endpoints HTTP sin iniciar el servidor en un puerto de red. Crea una instancia aislada de la aplicación y envía solicitudes HTTP simuladas directamente. Esto hace que las pruebas sean más rápidas, más fiables y evita conflictos de puertos entre pruebas paralelas.
3¿Cómo obtener la instancia del servidor HTTP para Supertest en una prueba NestJS?
¿Cómo obtener la instancia del servidor HTTP para Supertest en una prueba NestJS?
Respuesta
El método app.getHttpServer() retorna la instancia del servidor HTTP subyacente (Express o Fastify) que se puede pasar a Supertest para realizar solicitudes de prueba. Este método está disponible después de crear el módulo de prueba con Test.createTestingModule(). Permite que Supertest acceda directamente al servidor sin tener que iniciarlo en un puerto de red.
¿En qué archivo se colocan típicamente las pruebas E2E en un proyecto NestJS?
¿Qué método de Supertest permite verificar el status code de una respuesta HTTP?
+17 preguntas de entrevista
Otros temas de entrevista Node.js / NestJS
Fundamentos de Node.js
APIs Core de Node.js
Programación asíncrona
Fundamentos de Express.js
Fundamentos de NestJS
Diseño de API REST
Validación y DTO
Documentación de API y contratos
Manejo de errores
Pruebas unitarias
Planificación de tareas
Módulos y DI de NestJS
Configuración y gestión de entornos
Autenticación JWT
Autorización y RBAC
Base de datos con TypeORM
Prisma ORM
Middleware e Interceptors
Subida de archivos
WebSockets
GraphQL con NestJS
Caché con Redis
Colas con Bull
DevOps, Logging y CI/CD
Docker y Containerización
Microservices
Mejores prácticas de seguridad
Rendimiento y despliegue en la nube
Domina Node.js / NestJS para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis