nUnit 的结果未显示在 SonarQube 中
Posted
技术标签:
【中文标题】nUnit 的结果未显示在 SonarQube 中【英文标题】:nUnit's results are not displayed in SonarQube 【发布时间】:2018-03-21 20:36:48 【问题描述】:我正在使用 SonarQube 和 Jenkins。在 Jenkins 中,我使用 nUnit 检查单元测试并使用 opencover 检查覆盖率。 Opencover 的报告显示在 Sonar 中,但 nunit 的报告不显示。
我按照Analysing with SonarQube Scanner for Jenkins 和Unit Test Execution Results Import 的说明进行操作
我的“为 MSBuild 开始分析和 SonarQube”参数:
/d:sonar.sources="Foo.Bar.Business, Foo.Bar.Data, Foo.Bar.Web, Foo.Bar.FileGen, Foo.Bar.FileInt, Foo.Bar.Revision"
/d:sonar.binaries="Build/Foo.Bar.Business.dll, Build/Foo.Bar.Data.dll, Build/Foo.Bar.Web.dll, Build/Foo.Bar.FileGen.exe, Build/Foo.Bar.FileInt.exe, Build/Foo.Bar.Revision.exe, Build/Foo.Bar.TableauDeBord.exe"
/d:sonar.exclusions="Foo.Bar.Web/Scripts/JQuery/**/*, Foo.Bar.Web/Scripts/MomentJS/**/*, Foo.Bar.Web/Scripts/CanvasJS/**/*, Foo.Bar.Web/Scripts/JQueryUi/**/*, Foo.Bar.Web/Scripts/DataTables/**/*, Foo.Bar.Web/Content/**/*, Foo.Bar.Web/App_Start/**/*, Foo.Bar.Data/Model/**/*, Model/**/*, **/AssemblyInfo.cs, **/*Test.cs, Foo.Bar.Test.Web/**/*, Foo.Bar.JeuTest/**/*, Foo.Bar.Gestion.Web/**/*, **/*.js"
/d:sonar.tests="Foo.Bar.Test"
/d:sonar.cs.opencover.reportsPaths="D:/Program Files (x86)/Jenkins/workspace/Bar/reports/opencovertests.xml"
/d:sonar.cs.nunit.reportsPaths="D:/Program Files (x86)/Jenkins/workspace/Bar/reports/TestResult.xml"
我的“在 msbuild 之后”的命令(windows):
MKDIR "%WORKSPACE%\reports"
MKDIR "%WORKSPACE%\reports-history"
SET COV_PTH="D:\Programmes\opencover.4.6.519"
SET TOOL_PATH="D:\Programmes\NUnit-3.4.1"
SET RPT_PATH="D:\Programmes\ReportGenerator"
%COV_PTH%\OpenCover.Console.exe -target:"%TOOL_PATH%\bin\nunit3-console.exe" -targetargs:"Build\Foo.Bar.Test.dll -result:reports\TestResult.xml;format=nunit2" -filter:"+[Foo.Bar.*]* -[Foo.Bar.Test]* -[Foo.Bar.Data]Foo.Bar.Data.Model.*" -register -output:"reports\opencovertests.xml"
%RPT_PATH%\ReportGenerator.exe "-reports:reports\opencovertests.xml" "-targetdir:reports-ReportGenerator" "-historydir:reports-history"
版本:
詹金斯:2.74 SonarQube:6.5 适用于 MSBuild 的 SonarQube 扫描仪:3.0.2.656 SonarQube 扫描仪:3.0.3.778 SonarC# 插件:6.4.1 OpenCover:4.6.519 nUnit : 3.4.1 MSBuild:14【问题讨论】:
Sonar C# 插件的版本是多少?对 NUnit 的支持来自最新版本 - 6.4。 @Valeri-SonarSourceTeam 6.4.1 @Valeri-SonarSourceTeam 你知道发生了什么吗?您想了解更多信息吗? @Valeri-SonarSourceTeam 一年后,问题仍然存在...... 【参考方案1】:调用 OpenCover.Console.exe 时需要使用参数+值:
仅-register:user
而不是-register
。
在同一命令行中,请确保位于文件夹D:/Program Files (x86)/Jenkins/workspace/Bar/
,最终存储报告。
【讨论】:
以上是关于nUnit 的结果未显示在 SonarQube 中的主要内容,如果未能解决你的问题,请参考以下文章