我正在将 SonarQube 集成到我们的构建系统中——我在我们的构建代理上安装了 sonar-runner-2.4,并为每个解决方案添加了 sonar-runner.properties(到 TFS 上的解决方案文件夹中)。运行构建时,我在构建代理上编译解决方案后执行声纳运行器。除了单元测试之外,一切似乎都有效:
在构建日志中,我看到近 200 个测试运行并成功完成,在 sonar-runner 日志中,我看到以下内容:
14:23:29.808 INFO - 583/583 source files analyzed
14:23:30.809 INFO - Sensor org.sonar.plugins.csharp.squid.CSharpSquidSensor@1a50b87 done: 14937 ms
14:23:30.809 INFO - Sensor org.sonar.plugins.csharp.core.CSharpUnitTestResultsProvider$CSharpUnitTestResultsImportSensor@97edbc...
14:23:30.821 INFO - Sensor org.sonar.plugins.csharp.core.CSharpUnitTestResultsProvider$CSharpUnitTestResultsImportSensor@97edbc done: 12 ms
我猜这看起来不错,但是当登录到声纳服务器时,它显示运行了 0 个测试。
在 sonar-runner.properties 文件中,我将以下值设置为
sonar.cs.vstest.reportsPaths:
sonar.cs.vstest.reportsPaths=TestResults/*.trx
在这种情况下,当构建代理上的以下本地路径中有 3 个 vstest trx 文件时:`
D:\sTFS\22965\Sources\TestResults
`(见附件TestResults.jpg)。附件是 sonar-runner.properties 文件。我还附上了来自 sonarqube 服务器的屏幕截图(请参阅随附的 SonarServer.jpg)。