SonarQube服务器显示零单元测试

时间:2015-09-07 14:12:41

标签: sonarqube sonar-runner vstest

我正在构建系统中集成SonarQube - 我在构建代理上安装了sonar-runner-2.4,并为每个解决方案添加了sonar-runner.properties(到TFS上的解决方案文件夹)。 在运行构建时,我在构建代理上编译解决方案后执行声纳运行器。 除了单元测试外,一切似乎都有效:

在构建日志中,我看到近200个测试已成功运行并成功完成,在声纳 - 跑步者日志中,我看到以下内容:

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个\源头\ TestResults

`(参见TestResults.jpg)。 附件是sonar-runner.properties文件。 我还附加了一个来自sonarqube服务器的屏幕截图(参见SonarServer.jpg附件)。

你能告诉我这可能是什么问题吗? TestResults

SonarServer

sonar-runner.properties

1 个答案:

答案 0 :(得分:0)

你应该看到一些消息,如:

INFO - Parsing the Visual Studio Test Results file ...

对于要解析的每个单元测试结果文件,请参阅VisualStudioTestResultsFileParser.java#L34

您可以尝试将绝对路径模式传递给sonar.cs.vstest.reportsPaths吗?我的猜测是问题来自相对路径。

顺便说一句,使用声纳运行器来分析.NET项目正在被弃用。您将要查看与Team Foundation Server提供非常好的集成的MSBuild SonarQube Runner。请参阅SonarSource Wiki上的新C#插件文档:http://docs.sonarqube.org/display/PLUG/C%23+Plugin

修改

我刚刚注意到您的日志org.sonar.plugins.csharp.core.CSharpUnitTestResultsProvider中的包名称。 .core.仅存在于C#插件的过时版本中(在3.x系列中),并且这些版本可能不支持报表路径中的通配符。请升级到最新版本。