SonarQube服务器显示零单元测试

SonarQube服务器显示零单元测试,sonarqube,sonar-runner,vstest,Sonarqube,Sonar Runner,Vstest,我正在将SonarQube集成到构建系统中–我在构建代理上安装了sonar-runner-2.4,并为每个解决方案添加了sonar-runner.properties(到TFS上的解决方案文件夹中)。 在运行构建时,我将在构建代理上编译解决方案后执行sonar runner。 除了单元测试之外,其他一切似乎都正常工作: 在构建日志中,我看到近200个测试运行并成功完成,在sonar runner日志中,我看到以下内容: 14:23:29.808 INFO - 583/583 source fi

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

在构建日志中,我看到近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
我想这看起来还可以,但是当登录到sonar服务器时,它显示运行了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附件)

你能告诉我可能有什么问题吗?


您应该看到一些信息,如:

INFO-解析Visual Studio测试结果文件…

对于正在分析的每个单元测试结果文件,请参见

您能否尝试将绝对路径模式传递给
sonar.cs.vstest.reportspath
?我的猜测是,问题来自相对路径

顺便说一句,使用sonar runner分析.NET项目正遭到反对。您将要查看MSBudio SangARQube转发器,它与Team Foundation Server提供了很好的集成。请参阅SonarSource Wiki上的新C#插件文档:

编辑


我刚刚从您的日志
org.sonar.plugins.csharp.core.CSharpUnitTestResultsProvider
中注意到了包名。
.core.
仅在C#plugin(在3.x系列中)的过时版本中出现,这些版本可能不支持报告路径中的通配符。请升级到最新版本。

您应该会看到以下消息:

INFO-解析Visual Studio测试结果文件…

对于正在分析的每个单元测试结果文件,请参见

您能否尝试将绝对路径模式传递给
sonar.cs.vstest.reportspath
?我的猜测是,问题来自相对路径

顺便说一句,使用sonar runner分析.NET项目正遭到反对。您将要查看MSBudio SangARQube转发器,它与Team Foundation Server提供了很好的集成。请参阅SonarSource Wiki上的新C#插件文档:

编辑


我刚刚从您的日志
org.sonar.plugins.csharp.core.CSharpUnitTestResultsProvider
中注意到了包名。
.core.
仅在C#plugin(在3.x系列中)的过时版本中出现,这些版本可能不支持报告路径中的通配符。请升级到最新版本。

我看不到像你写的那样的消息。我试图给出一条绝对路径,但仍然没有改变。我注意到我收到以下警告:“警告-SCM提供程序自动检测失败。没有SCM提供程序声称支持此项目。请使用sonar.SCM.provider定义项目的SCM”。这与单元测试有什么关系吗?没有,这与单元测试结果没有任何关系。您可以尝试一个简单的场景,如上所述的步骤吗?您似乎正在使用过时的C#plugin 3.x-我已经编辑了我的回答我更新了C#plugin,并按照您的建议使用了MSBuild SonarQube Runner。现在只有一个问题,我得到了如下错误:错误:原因:A56FD28C-5687-44E2-8D11-8CB1CE43472A(基本目录=D:\sTFS\27170\Sources\NDM\TestingTools\XmlUtilsTests)的文件夹“example”不存在。我尝试手动添加一个具有此名称的空文件夹,解决了问题。有什么我可以添加到SonarQube.Analysis.xml或作为命令行的参数来忽略这个丢失的文件夹吗?我在这里看到了一些关于java的答案:我看不到像您所写的那样的消息。我试图给出一条绝对路径,但仍然没有改变。我注意到我收到以下警告:“警告-SCM提供程序自动检测失败。没有SCM提供程序声称支持此项目。请使用sonar.SCM.provider定义项目的SCM”。这与单元测试有什么关系吗?没有,这与单元测试结果没有任何关系。您可以尝试一个简单的场景,如上所述的步骤吗?您似乎正在使用过时的C#plugin 3.x-我已经编辑了我的回答我更新了C#plugin,并按照您的建议使用了MSBuild SonarQube Runner。现在只有一个问题,我得到了如下错误:错误:原因:A56FD28C-5687-44E2-8D11-8CB1CE43472A(基本目录=D:\sTFS\27170\Sources\NDM\TestingTools\XmlUtilsTests)的文件夹“example”不存在。我尝试手动添加一个具有此名称的空文件夹,解决了问题。有什么我可以添加到SonarQube.Analysis.xml或作为命令行的参数来忽略这个丢失的文件夹吗?我在这里看到了一些关于java的答案: