Jest Coverage Comment
Para publicar automáticamente el informe de cobertura de Jest como comentario en cada pull request.
GitHub Action que comenta en cada pull request la cobertura de Jest con insignia, tabla por archivos y resumen de tests.
Notas y contexto
Qué es
Jest Coverage Comment es una GitHub Action creada por Misha Kav que publica el informe de cobertura de Jest directamente como comentario en una pull request o commit. A partir del resumen JSON que genera Jest (y opcionalmente de informes JUnit o de la salida de consola), produce una insignia de cobertura con color dinámico, una tabla detallada archivo por archivo y un resumen de los tests. Está escrita en TypeScript, se distribuye bajo licencia MIT y se mantiene de forma activa.
Para qué sirve
- Comentar en cada pull request el porcentaje de cobertura con una insignia coloreada según el umbral.
- Mostrar un desglose de cobertura por archivo con enlaces directos al código en el repositorio.
- Resumir los tests ejecutados: pasados, fallidos, omitidos y tiempo de ejecución.
- Consolidar la cobertura de varios paquetes en un monorepo dentro de un único comentario.
Cuándo usarlo
Es útil cuando ya usas Jest y quieres dar visibilidad a la cobertura sin salir de GitHub, evitando depender de servicios externos como Codecov o Coveralls. Encaja especialmente en equipos que revisan código mediante pull requests y quieren ver el impacto en cobertura antes de mezclar. Si no usas Jest o necesitas analítica histórica avanzada, otras plataformas de cobertura pueden ajustarse mejor.
Ejemplo
name: Jest Coverage Comment
on:
pull_request:
permissions:
contents: read
pull-requests: write
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
- run: npx jest --coverage --coverageReporters json-summary
- uses: MishaKav/jest-coverage-comment@main
Puntos clave
- Genera insignias de cobertura con color dinámico usando shields.io.
- Acepta varios formatos de entrada: resumen JSON de Jest, XML de JUnit y salida de consola.
- Actualiza el mismo comentario en sucesivas ejecuciones en lugar de crear comentarios nuevos.
- Soporta monorepos combinando múltiples informes de cobertura.
Ten en cuenta
Requiere que Jest genere previamente el informe de cobertura (por ejemplo con el reporter json-summary). El workflow necesita permisos de escritura en pull requests para poder comentar. Conviene fijar la acción a una versión concreta en lugar de usar la rama main para garantizar builds reproducibles.