Libreria Gratis Activo

playwright-test-coverage

Para medir la cobertura de código de tu aplicación durante los tests end-to-end con Playwright.

Extensión de Playwright que recoge cobertura de código de los tests end-to-end.

Notas y contexto

Qué es

playwright-test-coverage es una pequeña librería open source creada por Anish Karandikar que extiende el runner @playwright/test para recoger cobertura de código durante los tests end-to-end. Funciona instrumentando previamente el código de la aplicación con babel-plugin-istanbul y, al ejecutar los tests, vuelca la información de cobertura para que nyc genere los informes. Se distribuye en npm bajo licencia MIT.

Para qué sirve

  • Medir qué partes del código de tu aplicación se ejercitan realmente durante los tests end-to-end.
  • Combinar la cobertura de tests unitarios y de tests e2e en un único informe con nyc/Istanbul.
  • Detectar zonas del frontend sin probar más allá de lo que cubren los tests unitarios.
  • Integrar la métrica de cobertura e2e en pipelines de CI para vigilar la calidad.

Cuándo usarlo

Es útil cuando ya usas Playwright para tests end-to-end y quieres saber qué porcentaje del código se ejecuta en esos flujos, algo que los tests unitarios por sí solos no reflejan. Encaja sobre todo en proyectos JavaScript/TypeScript que puedan instrumentar su build con babel-plugin-istanbul. Si no necesitas la métrica de cobertura, basta con @playwright/test estándar.

Ejemplo

Instalación y uso básico sustituyendo el import de Playwright por el de esta librería:

npm i -D playwright-test-coverage
const { test, expect } = require('playwright-test-coverage');

test('flujo básico', async ({ page }) => {
  await page.goto('http://localhost:3000');
  await expect(page).toHaveTitle(/Mi App/);
});

El código de la aplicación debe estar instrumentado con babel-plugin-istanbul durante el build; tras ejecutar los tests, nyc consolida y muestra el informe de cobertura.

Puntos clave

  • Reemplaza el import de @playwright/test por el de la librería sin cambiar la forma de escribir los tests.
  • Recoge la cobertura del código que se ejecuta en el navegador durante los tests e2e.
  • Se apoya en herramientas estándar del ecosistema: babel-plugin-istanbul para instrumentar y nyc para los informes.
  • Proyecto ligero, con releases publicadas y licencia MIT.

Ten en cuenta

Requiere instrumentar el build de la aplicación con babel-plugin-istanbul, lo que añade un paso de configuración y no siempre es trivial según el bundler. Es un proyecto pequeño mantenido por una sola persona y con pocos contribuidores, así que conviene fijar versiones y revisar su compatibilidad con la versión de Playwright que uses.

Volver al directorio
Volver al directorio