SonarQube Test Coverage mit MsTest
Ich habe versucht, @ zu bekommSonarQube
mit einer einfachen dot net App arbeiten. Ich hatte einige Erfolge bei der Inbetriebnahme, aber die Codeabdeckung funktioniert nicht.
Es sieht so aus, als hätten viele andere Menschen mit diesem Problem zu kämpfen, als SonarQube die Unterstützung für viele der Go-to-Coverage-Tools wie @ eingestellt haDotCover and OpenCover
via Gallio
Beispiele, denen ich gefolgt bin, sind:
VS2013 CodeCoverage.exe-RUN-Einstellungsdatei analysiert nie
Ich habe einige VS-Befehlszeilentools ausprobiert, um ein @ zu generiere.coverage
Date
vstest.console.exe .\UnitTestProject1\bin\Debug\UnitTestProject1.dll /EnableCodeCoverage
un
CodeCoverage.exe collect /output:DynamicCodeCoverage.coverage .\UnitTestProject1\bin\Debug\UnitTestProject1.dll
Und etwas Code geschrieben, um ihn in ein @ zu verwande.coveragexml
Datei vonHie
Um das folgende XML zu erhalten:
<?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>
Und sogar verwendetes XSLT-Stylesheet in einem Format, das vom SonarQube-Runner verwendet werden kann.
<?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>
wenn ich Sonar starte
MSBuild.SonarQube.Runner.exe Begin MSBuild MSBuild.SonarQube.Runner.exe endIch erhalte Fehler wie Caused By:unknown XML Node
, Erwarten von Berichterstattung aber bekamErgebniss
Das liegt daran, dass es die Struktur meines XML nicht mag, aber ich bin nicht sicher, was erwartet wird und wie viel Arbeit ich an der Coverage-Datei tun muss, um sie in ein Format zu konvertieren, das Sonar gefällt
Hoffentlich bin ich den falschen Weg gegangen und es gibt eine einfache Möglichkeit, VS Coverage oder @ zu integrierecoveragexml
Dateien in Sonar ohne zu viel Arbeit
Extra Informationen zu meinemSonar plugins
sin