.net core SonarQube:无法导入测试覆盖率

.net core SonarQube:无法导入测试覆盖率,.net-core,sonarqube,code-coverage,.net Core,Sonarqube,Code Coverage,我有一个SonarQube安装,正在针对一个带有多个xUnit项目的.Net核心应用程序运行它。SonarQube发现了bug,闻起来很好,但和很多人一样,我无法完成代码覆盖 目前,我正在使用以下命令生成cobertura覆盖XML文件: dotnet test --collect:"XPlat Code Coverage" 然后,我将这些文件从每个测试项目复制到一个集中目录,并使用以下命令运行/导入文件: dotnet SonarScanner begin /k:&quo

我有一个SonarQube安装,正在针对一个带有多个xUnit项目的.Net核心应用程序运行它。SonarQube发现了bug,闻起来很好,但和很多人一样,我无法完成代码覆盖

目前,我正在使用以下命令生成cobertura覆盖XML文件:

dotnet test --collect:"XPlat Code Coverage"
然后,我将这些文件从每个测试项目复制到一个集中目录,并使用以下命令运行/导入文件:

dotnet SonarScanner begin /k:"my-project" /d:sonar.cs.vscoveragexml.reportsPaths=".\TestResults\*.xml"
dotnet build
dotnet SonarScanner end
根据日志,文件已找到,但未被接收

信息:解析Visual Studio覆盖率XML报告 C:…\TestResults\5.coverage.cobertura.xml警告:无法导入 覆盖率报告“..\TestResults\5.coverage.cobertura.xml”因为 '中缺少根元素 C:…\TestResults\5.coverage.cobertura.xml,第2行'

我已经确认这些文件包含了看起来正确的有效XML,但我甚至不确定SonarQube是否应该接受cobertura报告

  • 我的方法是否与其他人在尝试将xUnit报道纳入SonarQube时的方法相同
  • 有更好的办法吗?如果比较容易的话,我很乐意使用OpenCover或类似产品

如果将来有人遇到这种情况,我放弃了尝试使用VS中的内置覆盖,而是使用DotCover。一个简单的设置,现在似乎有一定程度的工作

  • 下载/提取dotCover并将文件夹添加到路径
  • dotCover.exe--output=AppCoverageReport.html--reportType=html dotnet--test
  • dotnet SonarScanner begin/k:“我的项目”/d:sonar.cs.dotcover.reportspath=AppCoverageReport.html
  • 网络构建
  • 网络声纳扫描端
仍然存在一个问题,即测试覆盖率收集似乎拉得太多,因此导致错误。正在调查但与此问题无关