Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.5K
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda