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:

Sonar Runner-Fehler treten während der Verarbeitung der .coveragexml-Datei auf, die mit dem MSTest @ von Visual Studio erstellt wurd

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 end

Ich 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

c # = 4.1Generic Coverage = 1.1

Antworten auf die Frage(2)

Ihre Antwort auf die Frage