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?
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'']
},