【发布时间】:2021-03-03 00:13:03
【问题描述】:
我安装了 SonarQube,并针对具有多个 xUnit 项目的 .Net 核心应用程序运行它。 SonarQube 发现了错误并且闻起来很好,但像很多人一样,我无法完成代码覆盖。
目前,我正在使用以下命令生成 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
根据日志,文件被找到但未被摄取。
INFO:解析 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 或类似工具。
【问题讨论】:
标签: .net-core sonarqube code-coverage