0

我正在使用 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 执行并删除 src 目录中的 TestResults 文件夹。
  • SonarRunner 结束

问题:

MSBuild SonarQube Runner 后处理器 1.0.2.0

09:22:57.327 从 TFS 获取代码覆盖率报告信息...

09:23:17.723 没有找到当前构建的代码覆盖率报告。


编辑:我已经使用 /d 包含了 .TRX 和 .coveragexml 文件:但我仍然遇到问题,说没有找到代码覆盖率报告。

我可以在日志中看到它:

09:51:59.875 信息 - 解析 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

这些发生在声纳分析接近尾声时。

4

1 回答 1

0

解决者:

在 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 ="路径\到\VisualStudio.coveragexml"

移动 / 以获得更好的视觉效果。

于 2015-12-04T21:22:11.977 回答