Cobertura de prueba de SonarQube con MsTest
He estado tratando de conseguirSonarQube
trabajando con una simple aplicación dot net. He tenido éxito al ponerlo en funcionamiento, pero la cobertura del código no funciona.
Parece que muchas otras personas se han enfrentado a este problema cuando SonarQube suspendió el soporte para muchas de las herramientas de cobertura 'ir a' comoDotCover and OpenCover
víaGallio
Los ejemplos que he seguido son:
El archivo de configuración de ejecución VS2013 CodeCoverage.exe nunca analiza
He probado algunas de las herramientas de línea de comandos VS para generar un.coverage
archivo
vstest.console.exe .\UnitTestProject1\bin\Debug\UnitTestProject1.dll /EnableCodeCoverage
y
CodeCoverage.exe collect /output:DynamicCodeCoverage.coverage .\UnitTestProject1\bin\Debug\UnitTestProject1.dll
Y escribió un código como convertirlo en un.coveragexml
archivo deaquí
Para obtener el siguiente XML:
<?xml version="1.0" standalone="yes"?>
<CoverageDSPriv>
<Module>
<ModuleName>unittestproject1.dll</ModuleName>
<ImageSize>32768</ImageSize>
<ImageLinkTime>0</ImageLinkTime>
<LinesCovered>12</LinesCovered>
<LinesPartiallyCovered>0</LinesPartiallyCovered>
<LinesNotCovered>0</LinesNotCovered>
<BlocksCovered>9</BlocksCovered>
<BlocksNotCovered>0</BlocksNotCovered>
<NamespaceTable>
<BlocksCovered>9</BlocksCovered>
<BlocksNotCovered>0</BlocksNotCovered>
<LinesCovered>12</LinesCovered>
<LinesNotCovered>0</LinesNotCovered>
E incluso la hoja de estilo XSLT utilizada proporciona una que podría ser utilizada por el corredor SonarQube
<?xml version="1.0" encoding="utf-8"?>
<results>
<modules>
<module name="unittestproject1.dll" path="unittestproject1.dll" block_coverage="100" line_coverage="100" blocks_covered="9" blocks_not_covered="0" lines_covered="12" lines_partially_covered="0" lines_not_covered="0">
<functions>
<function name="Setup" type_name="UnitTest1" block_coverage="100" line_coverage="100" blocks_covered="1" blocks_not_covered="0" lines_covered="2" lines_partially_covered="0" lines_not_covered="0">
<ranges>
<range source_id="1" covered="yes" start_line="13" start_column="9" end_line="13" end_column="10" />
<range source_id="1" covered="yes" start_line="15" start_column="9" end_line="15" end_column="10" />
</ranges>
</function>
cuando corro Sonar
MSBuild.SonarQube.Runner.exe ComenzarMSBuildMSBuild.SonarQube.Runner.exe finalRecibo errores como Causado por:unknown XML Node
EsperarCobertura pero tengoResultados
Esto se debe a que no le gusta la estructura de mi XML, pero no estoy seguro de lo que está esperando y cuánto trabajo tengo que hacer en el archivo de cobertura para convertirlo a un formato que le guste a Sonar
Con suerte, he estado yendo por el camino equivocado y hay una manera simple de integrar la cobertura VS ocoveragexml
archivos en Sonar sin demasiado trabajo
Información adicional sobre miSonar plugins
son