Estoy tratando de configurar la cobertura para las pruebas unitarias que se ejecutan en un contenedor acoplable. Sin embargo, los informes de cobertura no se generan como se esperaba dentro del contenedor. Pero logran generar cuando el comando se ejecuta fuera del contenedor (en Mac OSX y CentOS).
Monto mi base de código en una ruta preexistente en la imagen.
La imagen se basa en el nodo: 8.11.4
karma v3.1.4
karma-cobertura v1.1.2
karma-cobertura-estambul-reportero v2.0.4
karma-webpack v4.0.0-rc.5
Estambul-instrumentador-cargador v.3.0.1.
Intentos de resolver el problema:
__dirname en karma.conf.jspath.join en karma.conf.js y puntos de entrada utilizados por webpack.coverage y los reporteros istanbul-coverage .-u $(id -u):$(id -g) no hace la diferencia¿Qué código te gustaría ver?
docker run --privileged \ -u $(id -u):$(id -g) \ --mount type=bind,source=$(pwd),dst=/home/node/test/ \ -it $DOCKER_IMAGE \ /bin/bash -c "npm test"Esperado:
=============================== Coverage summary =============================== Statements : 22.71% ( 7684/33837 ) Branches : 15.17% ( 2887/19027 ) Functions : 21.85% ( 1384/6334 ) Lines : 21.45% ( 6719/31327 ) ================================================================================Actual:
17:40:18 =============================== Coverage summary =============================== 17:40:18 Statements : Unknown% ( 0/0 ) 17:40:18 Branches : Unknown% ( 0/0 ) 17:40:18 Functions : Unknown% ( 0/0 ) 17:40:18 Lines : Unknown% ( 0/0 ) 17:40:18 ================================================================================lo que funcionó para mí en la aplicación Angular: ejecuta en su prueba CLI ng --code-coverage muestra mágicamente la cobertura