Cobertura de teste do SonarQube com o MsTest

Eu tenho tentadoSonarQube trabalhando com um aplicativo simples de rede de pontos. Eu tive algum sucesso em colocá-lo em funcionamento, mas a cobertura do código não está funcionando.

Parece que muitas outras pessoas enfrentaram esse problema quando o SonarQube interrompeu o suporte a muitas das ferramentas de cobertura 'ir para', comoDotCover and OpenCover através daGallio

Exemplos que eu segui são:

Erros do Sonar Runner durante o processamento do arquivo .coveragexml produzido no MSTest do Visual Studio

O arquivo runsettings do VS2013 CodeCoverage.exe nunca analisa

Eu tentei algumas das ferramentas de linha de comando do VS para gerar um.coverage Arquivo

vstest.console.exe .\UnitTestProject1\bin\Debug\UnitTestProject1.dll /EnableCodeCoverage

e

CodeCoverage.exe collect /output:DynamicCodeCoverage.coverage .\UnitTestProject1\bin\Debug\UnitTestProject1.dll

E escrevi algum código para encobri-lo em um.coveragexml arquivo deaqui

Para obter o seguinte 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 até a folha de estilo XSLT usada fornece uma que possa ser usada pelo 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>

quando eu corro o Sonar

Iniciar o MSBuild.SonarQube.Runner.exeMSBuildFim do MSBuild.SonarQube.Runner.exe

Eu recebo erros como causados por:unknown XML Node, EsperoCobertura mas tenhoResultados

Isso ocorre porque ele não gosta da estrutura do meu XML, mas não tenho certeza do que está esperando e quanto trabalho tenho que fazer no arquivo de cobertura para convertê-lo em um formato que o Sonar goste.

Espero estar seguindo o caminho errado e existe uma maneira simples de integrar o VS Coverage oucoveragexml arquivos no Sonar sem muito trabalho

Informações adicionais sobre o meuSonar plugins estão

c # = 4.1Cobertura genérica = 1.1

questionAnswers(1)

yourAnswerToTheQuestion