Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.5K
Vistas
Cobertura de prueba de SonarQube .NET 5

Quiero mostrar la cobertura de prueba para mis pruebas unitarias de .NET 5 en mi instancia local de SonarQube (en Windows).

 dotnet sonarscanner begin /k:"MyProject" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="<token>" /d:sonar.cs.opencover.reportsPaths="**\TestResults\*\*.xml" dotnet build dotnet test --no-build --collect:"XPlat Code Coverage" dotnet sonarscanner end /d:sonar.login="<token>"

El comando dotnet test genera los informes de coverage.cobertura.xml como archivos de cobertura.cobertura.xml en la <TestProjectDir>.TestResults\<some-guid>\ .

En los registros puedo ver la siguiente advertencia: WARN: Could not import coverage report '<MyTestProject>\TestResults\a4af5812-7f80-469b-8876-3ea0c7c4c98d\coverage.cobertura.xml' because 'Missing root element <CoverageSession> in C:\Users\<Path>\TestResults\a4af5812-7f80-469b-8876-3ea0c7c4c98d\coverage.cobertura.xml at line 2'. Troubleshooting guide: https://community.sonarsource.com/t/37151

Siguiendo el vínculo del mensaje de advertencia, puedo ver que solo se admiten Visual Studio Code Coverage , dotCover y OpenCover/Coverlet . Por lo que puedo decir de su página de GitHub , OpenCover/Coverlet es "XPlat Code Coverage".

En mis proyectos de prueba, está instalado el paquete coverlet.collector coverlet.collector v 3.0.3.

¿Qué me estoy perdiendo?

Encontré esta pregunta relacionada: SonarQube: No se puede importar la cobertura de prueba, pero no me ayuda porque no puedo usar dotCover .

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Después de mucho ensayo y error, aquí está la solución que funcionó para mí.

Tuve que instalar la última versión de dotnet-sonarscanner y dotnet-reportgenerator-globaltool para que esto funcionara. Ya tenía instalado el generador de informes, pero necesitaba actualizarlo para usar el tipo de informe de SonarQube.

 dotnet tool install --global dotnet-sonarscanner --version 5.2.0 dotnet tool update dotnet-reportgenerator-globaltool -g --version 4.8.7

Con el generador de informes, los archivos de cobertura se pueden convertir al formato reportgenerator .

 dotnet sonarscanner begin /k:"MyProject" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="<token>" /d:sonar.coverageReportPaths=".\sonarqubecoverage\SonarQube.xml" dotnet build dotnet test --no-build --collect:"XPlat Code Coverage" reportgenerator "-reports:*\TestResults\*\coverage.cobertura.xml" "-targetdir:sonarqubecoverage" "-reporttypes:SonarQube" dotnet sonarscanner end /d:sonar.login="<token>"

Formatos de archivo compatibles con el generador de informes: https://github.com/danielpalme/ReportGenerator#supported-input-and-output-file-formats

Formato de datos de prueba genéricos de SonarQube: https://docs.sonarqube.org/latest/analysis/generic-test/

over 4 years ago · Santiago Trujillo Denunciar

0

Creo que el problema es que está tratando de importar pruebas de opencover pero las pruebas están en formato de cobertura. Puede hacer este comando en su lugar para sus pruebas:

 dotnet test --no-build --collect:"XPlat Code Coverage" -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=opencover

Y probablemente funcionaría.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda