Sonarqube 覆盖 opencover 和 Nunit

Sonarqube coverage with opencover and Nunit

我们目前将 Sonarqube 4.5.7(SonarQube Scanner for MSBuild 2.1)与 Nunit 和 Opencover 一起使用。测试执行成功,指标在仪表板中正确报告。但是 Sonar 仪表板中的覆盖部分是空白的,覆盖范围 xml 显示 "Module skippedDueTo="MissingPdb"" 我的应用程序模块

下面是我在我的 Jenkins 中使用的配置

"C:\Program Files (x86)\MSBuild.0\Bin\msbuild.exe" sample\app.sln /t:Rebuild /p:Configuration=Debug
"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -register:user -targetdir:"…\sample\app.Tests\app.Correction\bin\Debug" -target:"C:\Program Files (x86)\NUnit 2.6.4\bin\nunit-console.exe" -targetargs:" …\sample\app.Tests\app.Correction\bin\Debug \app.dll /nologo /noshadow" -output:coverage.report.xml

我们终于找到了解决这个问题的方法。在这种情况下,它确实是引号的问题,包装了完整的 targetargs,如下所示修复了问题

"-targetargs: …\sample\app.Tests\app.Correction\bin\Debug \app.dll /nologo /noshadow"