Node.js / NestJS

Pruebas end-to-end

Supertest, base de datos de prueba, fixtures, autenticación en las pruebas, testing de API

20 preguntas de entrevista·
Mid-Level
1

¿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?

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?

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.

4

¿En qué archivo se colocan típicamente las pruebas E2E en un proyecto NestJS?

5

¿Qué método de Supertest permite verificar el status code de una respuesta HTTP?

+17 preguntas de entrevista

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