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 找不到代码覆盖率报告的主要内容,如果未能解决你的问题,请参考以下文章

VSTS SonarQube 找不到 TRX 文件

SonarQube 和 Karma 代码覆盖率 - 未解析的文件路径

播放 2.4:表单:找不到参数消息的隐式值:play.api.i18n.Messages

如何去除sonarqube自动扫描

SonarQube 扫描仪:使用非默认 Java

找不到业力覆盖