我正在使用 sonarQube 来分析 .net6 中的代码。 我已经安装了 sonarScanner 并运行这 3 个命令:
dotnet sonarscanner begin /k:"<sonar-project-key>"
/d:sonar.login="<sonar-token>"
/d:sonar.cs.dotcover.reportsPaths=dotCover.Output.html
dotnet build –no-incremental
dotnet dotcover test --dcReportType=HTML
dotnet sonarscanner end /d:sonar.login="<sonar-token>"
我使用 nunit 编写了很多单元测试,但是单元测试的数量为 0
我尝试添加 /d:sonar.cs.nunit.reportsPaths="Nunit\Result.xml" 但什么也没发生
您能帮忙透露一下缺少的配置吗?
我使用 Coverlet 修复了该问题并导出为 OpenCover 格式。
确保这些包已添加到您的 xunit 测试项目中:
coverlet.collector
coverlet.msbuild
扫描:
dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:CoverletOutput="../../" --logger:"trx;LogFileName=..\..\..\TestResult.trx"
dotnet sonarscanner begin /k:"test" /d:sonar.host.url="http://localhost:9000" /d:sonar.token="XXX" /d:sonar.cs.opencover.reportsPaths="coverage.opencover.xml" /d:sonar.cs.vstest.reportsPaths=TestResult.trx
dotnet build
dotnet sonarscanner end /d:sonar.token="XXX"
注意:在此示例中,单元测试位于“ ests\Project.Tests\Project.Tests.csproj”,因此输出将放置在“\”上。这也是扫描仪运行的路径。