SonarQube 5.6中的C#单元测试结果

时间:2016-06-23 12:39:04

标签: unit-testing tfs msbuild sonarqube

环境:SonarQube 5.6 - SonarQube Runner 2.4 - MSBuild.SonarQube.Runner-2.0 - TFS 2015 - C#6

我有一个带有C#6项目和单元测试的Visual Studio 2015解决方案。在我的TFS 2015服务器上,我定义了一个构建(基于任务,而不是xaml)。在我的构建中,我添加了以下步骤:   - 用于MSBuild的SonarQube - 开始分析。   - Visual Studio测试   - 用于MSBuild的SonarQube - 结束分析。

一切运行正常(构建,单元测试执行,代码覆盖率,基于SonarLint的分析结果,......除了我没有在Sonar报告中看到测试结果(代码覆盖率在那里!)。

我尝试添加一些参数: - 开始分析:我添加了:/d:sonar.cs.vstest.reportsPaths = ../TestResults/*.trx - vstests console:/ Logger:trx

在最后的分析日志中,我看到了:

尝试查找测试结果(.trx)文件... 找到测试结果文件:E:\ agent_work \ 3 \ TestResults \ tests_results_2016-06-23 14_07_22.trx 传感器org.sonar.plugins.csharp.CSharpUnitTestResultsProvider $ CSharpUnitTestResultsImportSensor 传感器org.sonar.plugins.csharp.CSharpUnitTestResultsProvider $ CSharpUnitTestResultsImportSensor(done)|时间= 0毫秒

我知道为什么我总是在声纳报告中看到单元测试= 0?

1 个答案:

答案 0 :(得分:0)

您需要提供.trx文件的完整路径。在开始分析中进行以下更改并再次尝试。

更改

/d:sonar.cs.vstest.reportsPaths=../TestResults/*.trx 

 /d:sonar.cs.vstest.reportsPaths=../TestResults/Mytest.trx