Sonar-Runner 2.4 找不到代码覆盖率报告
Posted
技术标签:
【中文标题】Sonar-Runner 2.4 找不到代码覆盖率报告【英文标题】:Sonar-Runner 2.4 can't find code coverage reports 【发布时间】:2016-03-06 20:51:28 【问题描述】:我正在使用 SonarRunner v2.4 (MSBuild) 运行 SonarQube 5.2,但在让 SonarRunner 获取代码覆盖率报告时遇到问题。我有 VS Test,它将 TestResults 文件夹放在源目录中。 TRX 文件位于 TestResults 文件夹中。是否有 Sonar-Runner 扫描以搜索 TRX/代码覆盖率报告的默认目录?构建成功,但在 SonarQube 中没有针对该应用的单元测试覆盖率结果。
TRX: F:\Builds\50\IT\ABCDemo.Nightly\src\TestResults\ *.TRX
来源: F:\Builds\50\IT\ABCDemo.Nightly\src
流程:
SonarRunner 开始 // 填写密钥、名称、版本 MSBuild 执行 VS Test 执行并将 TestResults 文件夹放到 src 目录中。 SonarRunner 结束问题:
MSBuild SonarQube Runner 后处理器 1.0.2.0
09:22:57.327 正在从 TFS 获取代码覆盖率报告信息...
09:23:17.723 没有找到当前版本的代码覆盖率报告。
编辑:我已经使用 /d: 包含了 .TRX 和 .coveragexml 文件:但我仍然收到提示未找到代码覆盖率报告的问题。
我可以在日志中看到它:
09:51:59.875 INFO - 解析 Visual Studio 覆盖率 XML 报告 f:\Builds\50\IT\ABCDemo.Nightly\src\VisualStudio.coveragexml
09:53:07.737 信息 - 解析 Visual Studio 测试结果文件 f:\Builds\50\IT\ABCDemo.Nightly\src\TestResults\tfsbuildagent_QL1CIBUILD3 2015-12-03 09_51_33.trx
这些发生在声纳分析接近尾声时。
【问题讨论】:
【参考方案1】:解决者:
在 sonar-runner 的参数中包含 trx 和 coveragexmls 文件的路径。
MSBuild.SonarQube.Runner.exe 开始 /k:projectkey /n:projectname /v:projectversion /d:sonar.cs.vstest.reportsPaths="path\to\ *.trx" /d:sonar.cs.vscoveragexml.reportsPaths="path\to\VisualStudio.coveragexml"
移动了 / 以获得更好的视觉效果。
【讨论】:
以上是关于Sonar-Runner 2.4 找不到代码覆盖率报告的主要内容,如果未能解决你的问题,请参考以下文章
SonarQube 和 Karma 代码覆盖率 - 未解析的文件路径