es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Por favor, verifica que los patrones de inclusión/exclusión generen conjuntos disjuntos de archivos principales y de prueba. Sonarqube con Angular.

Tengo un proyecto angular que está siendo escaneado por Sonarqube a través de Jenkins. Obtengo la cobertura de código pero Sonarqube no muestra el número de pruebas unitarias (*.spec.ts) que hemos escrito.

Desde el script de prueba de Sonarqube:

sonar-scanner \
    -Dsonar.sources=. \
    -Dsonar.tests=. \
    -Dsonar.exclusions=**/*.spec.ts \
    -Dsonar.tests.inclusions=**/*.spec.ts \
...

No tengo acceso a la interfaz de usuario de Sonarqube, ya que esto es para uso empresarial. Todo está siendo configurado a través de scripts/archivos de configuración en Angular. ¿Existe alguna manera de ver el número de pruebas unitarias de Angular en el sitio web de Sonarqube después de que se complete el escaneo?

P.D.: Originalmente tenía -Dsonar.exclusions=node_modules, /.spec.ts \ pero esto lanzará un error en Jenkins diciendo que /.spec.ts es un comando no reconocido.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que la configuración de Sonarqube está excluyendo los archivos *.spec.ts del análisis. Para permitir que Sonarqube cuente la cantidad de pruebas unitarias, debes eliminar la exclusión y agregar las inclusiones adecuadas al archivo de configuración.

    Aquí tienes una versión actualizada del ejemplo de configuración de Sonarqube que incluye los archivos *.spec.ts y elimina la exclusión de node_modules:

    sonar-scanner \
        -Dsonar.sources=. \
        -Dsonar.exclusions=node_modules/**/* \
        -Dsonar.tests=. \
        -Dsonar.test.inclusions=**/*.spec.ts \
        -Dsonar.typescript.lcov.reportPaths=coverage/lcov.info \
        -Dsonar.testExecutionReportPaths=test-report.xml \
        -Dsonar.javascript.lcov.reportPaths=coverage/lcov.info \
        -Dsonar.projectKey=my-project-key \
        -Dsonar.host.url=https://my-enterprise-sonarqube.com \
        -Dsonar.login=my-sonarqube-token
    

    Con esta configuración, Sonarqube debería poder contar la cantidad de pruebas unitarias y mostrarlo en el sitio web después de que se complete el escaneo. Asegúrate de que los archivos coverage/lcov.info y test-report.xml se generen correctamente, y de que el token de inicio de sesión de Sonarqube sea correcto.

    Si aún no puedes ver la cantidad de pruebas unitarias en el sitio web de Sonarqube, es posible que debas consultar los registros de Sonarqube o contactar al departamento de TI para obtener ayuda.

Comments are closed.