2

当我使用 MSBuild 扫描仪分析 .NET 项目时,我真的看不到我的 NUnit 报告是否正在导入到 SonarQube 报告套件中。

我正在使用适用于 MSBuild 2.0 和 C# 插件 v5.0(以及其他不相关插件)的 SonarQube 扫描仪运行 SonarQube 5.4

d:\buildTools\sonar-runner-for-msbuild\MSBuild.SonarQube.Runner.exe begin 
                                       /k:$productKey 
                                       /n:$productName 
                                       /v:$BuildNumber 
                                       /d:sonar.cs.nunit.reportsPaths=$NunitTestOutput

虽然我为 nunit.xml 报告传递了正确的路径,但它并没有被导入到 SonarQube 上的报告套件中:

我导航到(project home) -> Dashboards -> Custom dashboard(我在其中添加了单元测试覆盖率小部件),但除了测试数量之外,它没有更多信息。

可以肯定的是,日志还显示分析器知道 nUnit 报告的确切位置,但它也没有显示失败或成功的迹象。

2016.05.11 09:28:09 INFO  [o.s.s.c.t.CeWorkerCallableImpl] Execute task | project=[Redacted-project-name] | id=[redacted]
[...]
2016.05.11 09:28:11 INFO  [o.s.s.c.s.LogScannerContextStep] Settings for module: [Redacted-module-name]
[...]
2016.05.11 09:28:11 INFO  [o.s.s.c.s.LogScannerContextStep]   - sonar.cs.fxcop.reportPath=E:\WS\12500236\source\src\[Redacted-module-name].dll.CodeAnalysisLog.xml
2016.05.11 09:28:11 INFO  [o.s.s.c.s.LogScannerContextStep]   - sonar.cs.nunit.reportsPaths=E:\WS\12500236\_testoutput\nunit.xml
2016.05.11 09:28:11 INFO  [o.s.s.c.s.LogScannerContextStep]   - sonar.cs.roslyn.reportFilePath=E:\WS\12500236\source\src\[Redacted-module-name].dll.RoslynCA_fixed.json
[...]
2016.05.11 09:28:29 INFO  [o.s.s.c.t.CeWorkerCallableImpl] Executed task | project=[Redacted-project-name] | id=[redacted] | time=20328ms

我应该寻找什么?我错过了什么?

我按照本指南导入 NUnit 报告。

4

1 回答 1

0

NUnit 没有内置覆盖。您需要使用其他一些工具来计算覆盖率。

请参阅 Sonar 关于代码覆盖率结果的文档

于 2018-05-03T10:03:29.617 回答