warn test nyc node coverage javascript node.js reporting teamcity karma-runner

javascript - test - Configuración del informe de cobertura de código para Karma en TeamCity



nyc node js (3)

Estamos configurando TeamCity para ejecutar nuestras pruebas de jazmín usando node y karma.

Las pruebas funcionan bien y los resultados se informan en la pestaña "Pruebas" en TeamCity.

Sin embargo, nos gustaría informar la cobertura de código en TeamCity (e incluso establecer condiciones de falla de compilación en el nivel).

He instalado el módulo de cobertura karma.

npm install karma-coverage --save-dev

Y trató de configurarlo en karma.conf.js agregando

preprocessors: { ''myProject/Scripts/app/**/*.js'': ''coverage'' }, reporters: [''progress'', ''coverage''],

Cuando se ejecuta karma, no se informan errores y se crean muchos archivos debajo de la coverage la carpeta, incluido un informe de cobertura de código con un formato muy agradable en index.html

Pero nada nuevo aparece en TeamCity. No hay pestaña "Cobertura de código".

¿Cómo configuro el karma para producir informes que se muestran en TeamCity?

Tal vez pueda usar set coverageReporter para algo apropiado, pero ¿qué? Esta configuración no hace ninguna diferencia:

coverageReporter: { type : ''html'', dir : ''coverage/'' },

Pregunta de bonificación: ¿cómo establezco las condiciones de falla de compilación en la cobertura del código informado por karma?


En mi caso, el informe se generó con éxito en coverage.zip , pero la pestaña de cobertura de código no estaba visible en el informe de compilación.

Tuve que agregar manualmente la pestaña del informe en Configuración del proyecto y proporcionar una ruta completa al archivo index.html


La forma más fácil de hacer que TeamCity reconozca su informe de cobertura es generar un artefacto de compilación que contenga ese buen informe de cobertura html.

Edite los ajustes de configuración para su compilación y en Artifact Paths agregue algo como:

coverage/** => coverage.zip

TeamCity reconocerá el artefacto de cobertura.zip si encuentra el archivo index.html en la raíz y agregará una pestaña de Cobertura de código a cada compilación.

Fuente: https://confluence.jetbrains.com/pages/viewpage.action?pageId=74847395#HowTo...-ImportcoverageresultsinTeamCity (Teamcity versión 9.x)


No sé, si la secuencia es importante, ¿y no debería usar los corchetes [] en las entradas de preprocesadores?

Intente lo siguiente:

reporters: [''progress'', ''coverage''], preprocessors: { ''myProject/Scripts/app/**/*.js'': [''coverage''] },