Generación de Reporte de Cobertura con Pruebas End to End
Clase 8 de 25 • Curso de End to End Testing para APIs REST con Node.js
Contenido del curso
Introducción: pruebas e2e con Node.js
- 2

Exploración y Configuración de APIs con Insomnia y Postman
10:37 min - 3

Pruebas en Node.js con Jest y Clean Architecture
10:06 min - 4

Configuración y uso de Jest para pruebas end-to-end en JavaScript
08:04 min - 5

Pruebas End-to-End con Supertest y Node.js
13:47 min - 6

Buenas prácticas en pruebas con Jest y manejo de ciclos abiertos
08:30 min
Pruebas a la API de Fake Store
- 7

Configuración de Entorno de Pruebas para Aplicaciones Node.js con Twen.js
11:25 min - 8

Generación de Reporte de Cobertura con Pruebas End to End
Viendo ahora - 9

Pruebas de Integridad de Datos con DTOs y Joy en APIs REST
20:16 min - 10

Pruebas End-to-End con Base de Datos en API REST
17:21 min - 11

Pruebas de Autenticación en Login con JavaScript
16:26 min - 12

Pruebas de Rutas Protegidas con API Key en Node.js
07:03 min - 13

Pruebas End-to-End con Access Token en API REST
14:16 min - 14

Pruebas Efectivas de Creación de Usuarios en POS con Bases de Datos
09:03 min
Pruebas en Entornos de Desarrollo Avanzados
- 15

Pruebas End-to-End: Gestión de Datos con Semillas Automatizadas
10:26 min - 16

Configuración de Bases de Datos para Pruebas End-to-End con Docker
17:57 min - 17

Creación de Sets de Datos Manuales para Pruebas End-to-End
15:49 min - 18

Sets de Datos en SQLite: Creación y Gestión Efectiva
14:58 min - 19

Uso de Unsook para Migraciones Programáticas en Pruebas
10:53 min - 20

Pruebas de API: Creación de Categorías con Roles y Tokens
10:28 min - 21

Pruebas End-to-End para API de Productos sin Autenticación
06:01 min - 22

Pruebas de Paginación en Endpoints de Productos con Limit y Offset
04:38 min
Mocking y automatización
Próximos pasos
¿Qué es un reporte de cobertura de pruebas y por qué es importante?
Lanzar un reporte de cobertura en tus proyectos de desarrollo es crucial para asegurarte de cuántas pruebas se están ejecutando y qué partes de tu código están siendo cubiertas. Estos reportes te guían en determinar qué flujos o endpoints aún no están cubiertos en tus pruebas actuales. La cobertura no mide la calidad de las pruebas; simplemente indica qué partes del código han sido "tocadas" durante las pruebas.
¿Cómo agregar tareas para generar un reporte de cobertura?
Para generar un reporte de cobertura, es necesario añadir configuraciones específicas en tu archivo package.json. A menudo se separan estas configuraciones para no sobrecargar un solo comando. Aquí te mostramos cómo puedes hacerlo:
-
Añadiendo un comando en package.json:
- Añade una nueva tarea que incluya una bandera para cobertura:
{ "scripts": { "test:e2e": "jest --coverage" } } -
Ejecutando el comando:
- Usa el terminal para correr las pruebas:
npm run test:e2e- Este comando generará un reporte que se mostrará en la terminal y también creará una carpeta
coverageque contiene el reporte.
¿Cómo visualizar el reporte de cobertura gráficamente?
Visual Studio Code facilita encontrar este reporte. Dentro de tu proyecto, al ejecutar las pruebas, se crea automáticamente una carpeta llamada coverage.
-
Localiza la carpeta:
- Por defecto, esta carpeta es ignorada en Git, asegurando que los reportes de cobertura no se suban al repositorio.
-
Abre el reporte en un navegador:
- Dentro de
coverage, buscaindex.htmlque puedes abrir con cualquier navegador web. - Este archivo te mostrará gráficamente qué partes de tu código fueron ejecutadas durante las pruebas.
- Dentro de
¿Cómo asegurar una cobertura completa en tus servicios?
A menudo, al ejecutar pruebas de extremo a extremo (e2e), cubres múltiples líneas de código simplemente al lanzar la aplicación. Sin embargo, para asegurar una cobertura más detallada:
- Asegúrate de crear pruebas que interactúen con todos los endpoints importantes de tus servicios.
- Verifica que, al menos, los servicios cruciales de tu aplicación están siendo testeados adecuadamente.
Por ejemplo, asegúrate de que los routers, el proceso de autenticación y otros endpoints importantes tengan cobertura en las pruebas. Desarrolla pruebas específicas para endpoints no cubiertos, como el de inicio de sesión o la verificación de datos.
¿Cómo evitar colisiones de reportes de cobertura?
Es común que al integrar diferentes tipos de pruebas, como unit testing y end-to-end, los reportes de cobertura se entrelacen. Para prevenir esto:
-
Configura correctamente el directorio de cobertura en el archivo de configuración, como
jest.config.js:module.exports = { coverageDirectory: 'coverage/e2e' }; -
Ignora las carpetas de cobertura en Git: Añade estas nuevas carpetas a tu archivo
.gitignorepara evitar que dichos reportes se registren en el control de versiones. -
Ejecuta y verifica: Al correr nuevamente el comando
npm run test:e2e, asegúrate de que tus pruebas estén generando reportes únicamente para el tipo de prueba especificado.
Esta metódica separación te ayudará a mantener un orden adecuado al manejar diferentes tipos de pruebas, asegurando que cada reporte es claro y útil para futuras revisiones y mejoras en el código. ¡Sigue adelante y continúa explorando cómo mejorar tu capacidad de testing!