SonarQube:无法导入测试覆盖率
SonarQube: Unable to import test coverage
我有一个 SonarQube 安装,并且 运行 它针对具有多个 xUnit 项目的 .Net 核心应用程序。 SonarQube 发现了错误并且闻起来很好,但像很多人一样,我无法完成代码覆盖。
目前,我正在使用以下命令生成 cobertura 覆盖率 XML 文件:
dotnet test --collect:"XPlat Code Coverage"
然后我将这些从每个测试项目复制到一个集中目录,并使用以下命令 run/import 文件:
dotnet SonarScanner begin /k:"my-project" /d:sonar.cs.vscoveragexml.reportsPaths=".\TestResults\*.xml"
dotnet build
dotnet SonarScanner end
根据日志,文件已找到但未提取。
INFO: Parsing the Visual Studio coverage XML report
C:...\TestResults.coverage.cobertura.xml WARN: Could not import
coverage report '..\TestResults.coverage.cobertura.xml' because
'Missing root element in
C:...\TestResults.coverage.cobertura.xml at line 2'
我已确认文件包含有效 XML,看起来是正确的,但我什至不确定 SonarQube 是否应该接受 cobertura 报告。
- 在尝试将 xUnit 覆盖率报告导入 SonarQube 时,我的方法是否与其他人采用的方法相同?
- 有没有更好的方法?如果更容易的话,我很乐意使用 OpenCover 或类似软件。
以防将来有人遇到这个问题,我放弃了尝试使用 VS 中的内置覆盖并使用 DotCover。设置更简单一些,现在似乎可以正常工作了。
- Download/extract点覆盖并将文件夹添加到路径
- dotCover.exe --output=AppCoverageReport.html --reportType=HTML dotnet --test
- dotnet SonarScanner begin /k:"my-project" /d:sonar.cs.dotcover.reportsPaths=AppCoverageReport.html
- dotnet 构建
- dotnet SonarScanner 结束
仍然有一个问题,即测试覆盖率收集似乎引入了太多内容,因此导致了错误。正在调查但与此问题无关。
我有一个 SonarQube 安装,并且 运行 它针对具有多个 xUnit 项目的 .Net 核心应用程序。 SonarQube 发现了错误并且闻起来很好,但像很多人一样,我无法完成代码覆盖。
目前,我正在使用以下命令生成 cobertura 覆盖率 XML 文件:
dotnet test --collect:"XPlat Code Coverage"
然后我将这些从每个测试项目复制到一个集中目录,并使用以下命令 run/import 文件:
dotnet SonarScanner begin /k:"my-project" /d:sonar.cs.vscoveragexml.reportsPaths=".\TestResults\*.xml"
dotnet build
dotnet SonarScanner end
根据日志,文件已找到但未提取。
INFO: Parsing the Visual Studio coverage XML report C:...\TestResults.coverage.cobertura.xml WARN: Could not import coverage report '..\TestResults.coverage.cobertura.xml' because 'Missing root element in C:...\TestResults.coverage.cobertura.xml at line 2'
我已确认文件包含有效 XML,看起来是正确的,但我什至不确定 SonarQube 是否应该接受 cobertura 报告。
- 在尝试将 xUnit 覆盖率报告导入 SonarQube 时,我的方法是否与其他人采用的方法相同?
- 有没有更好的方法?如果更容易的话,我很乐意使用 OpenCover 或类似软件。
以防将来有人遇到这个问题,我放弃了尝试使用 VS 中的内置覆盖并使用 DotCover。设置更简单一些,现在似乎可以正常工作了。
- Download/extract点覆盖并将文件夹添加到路径
- dotCover.exe --output=AppCoverageReport.html --reportType=HTML dotnet --test
- dotnet SonarScanner begin /k:"my-project" /d:sonar.cs.dotcover.reportsPaths=AppCoverageReport.html
- dotnet 构建
- dotnet SonarScanner 结束
仍然有一个问题,即测试覆盖率收集似乎引入了太多内容,因此导致了错误。正在调查但与此问题无关。