【问题标题】:Getting code coverage in Sonar but no test results (.Net)在 Sonar 中获取代码覆盖率但没有测试结果 (.Net)
【发布时间】:2013-09-09 12:41:18
【问题描述】:

我正在我的声纳配置中重复使用报告:

sonar.gallio.mode=reuseReport
sonar.gallio.reports.path=gallio-report.xml
sonar.gallio.coverage.reports.path=results.xml

我之前运行过 Gallio 和 OpenCover,并且可以确认两者都成功完成并且 Sonar 能够检索文件(我已经彻底检查了由 -X 标志生成的日志)。当我在声纳仪表板中查看项目时,我看到了代码覆盖率,但没有看到测试结果:

请忽略低代码覆盖率,我正在运行一小部分测试,而我正在解决这个问题。

我应该看到一些反映我在运行 Gallio 时看到的结果:

14 run, 13 passed, 1 failed (1 error), 0 inconclusive, 0 skipped

如果有帮助的话,我很乐意加入 gallio-report.xml,但它是 103kb,所以很明显它包含大量数据,我认为这更有可能是配置问题。

我正在运行 OpenCover 4.0.1118 和 Gallio 3.2.750(测试是用 NUnit 编写的)。

有什么想法为什么我没有看到任何测试结果?

【问题讨论】:

  • 仅供参考:OpenCover 现在支持 .NET 4.5

标签: c# .net unit-testing code-coverage sonarqube


【解决方案1】:

您的 .NET 解决方案中可能没有测试源,因此当 SonarQube 尝试导入测试执行结果时,它无法找到应将它们附加到哪些文件。

.NET sample solution 中,您可以看到有一个测试项目(Example.Core.Tests),其中包含测试类的源代码。

【讨论】:

  • 我在解决方案中有测试源,但我忽略了包括:sonar.dotnet.test.assemblies=**/bin/Release/*.Test.dllsonar.donet.visualstudio.testProjectPattern=*.Test。现在完美运行。谢谢!
猜你喜欢
  • 2014-11-01
  • 2017-12-20
  • 2023-03-31
  • 2015-01-07
  • 2016-03-27
  • 1970-01-01
  • 2012-06-30
  • 2014-11-18
  • 2013-11-28
相关资源
最近更新 更多