Solución:
Tanto los informes de OpenCover como los de dotCover son compatibles con el complemento C # 4.1. Selecciona el sonar.cs.dotcover.reportsPaths
o sonar.cs.opencover.reportsPaths
propiedad respectivamente para ambas herramientas para importar cobertura de código.
Gallio no es exactamente la herramienta de referencia: el proyecto está inactivo desde 2013. El principal problema con el complemento SonarQube C # Plugin 2.x que dependía de Gallio es que estaba lanzando Gallio por sí mismo, lo que no permitía al usuario final personalizar cómo se deben lanzar las pruebas y recopilar la cobertura.
Ahora la situación es mucho más fácil: inicie su herramienta de cobertura de código favorita, pídale que produzca un informe y envíelo a MSBuild SonarQube Runner.
Si está utilizando Team Foundation Server 2013, habilitar la cobertura de código es como elegir el Enable Code Coverage
opción en la definición de construcción.
Ahora bien, es muy lamentable y confuso que Microsoft tenga dos .coveragexml
formatos, y que el SonarQube C # Plugin solo admite uno de ellos (es decir, por ahora, consulte http://jira.sonarsource.com/browse/SONARNTEST-3).
Mientras espera que se arregle ese ticket, estos son los pasos para producir el esperado .coveragexml
informe (nota: Reemplazar 14
por 12
en las diversas rutas si está utilizando VS 2013 en lugar de 2015):
MSBuild.SonarQube.Runner begin /k:SonarQube_Project_Key /n:SonarQube_Project_Name /v:1.0 /d:sonar.cs.vscoveragexml.reportsPaths=%CD%VisualStudio.coveragexml
msbuild
"C:Program Files (x86)Microsoft Visual Studio 14.0Team ToolsDynamic Code Coverage ToolsCodeCoverage.exe" collect /output:VisualStudio.coverage "C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDECommonExtensionsMicrosoftTestWindowvstest.console.exe" "UnitTestProject1binDebugUnitTestProject1.dll"
"C:Program Files (x86)Microsoft Visual Studio 14.0Team ToolsDynamic Code Coverage ToolsCodeCoverage.exe" analyze /output:VisualStudio.coveragexml VisualStudio.coverage
MSBuild.SonarQube.Runner end
No recomendaría usar XSLT para convertir formatos de informes de cobertura de código, use el CodeCoverage.exe
En su lugar, la herramienta de Microsoft.