将 C++ 覆盖与 sonarqube 集成
Integrating C++ coverage with sonarqube
我正在使用 Google 测试框架进行 C++ 单元测试。我们正在使用 MsBuild 构建我们的项目(运行s on teamcity)。现在,我希望 sonarqube 解析覆盖信息。我们在 sonarqube 中有 cfamily 插件。与 cfamily 插件兼容的报告有 bullseye、vscoverage、gcov、llvm-cov。据我所知,因为不能用gcc编译,所以排除了llvm-cov和gcov。由于我们正在使用 googletest 并且还想 运行 在 teamcity 上进行此操作,因此 vscoverage 是不可能的。我们没有使用 Bullseye。 (我被告知更多的是用于功能自动化)。
所以我决定使用 OpenCppCoverage 工具。这可以生成 cobertura 格式或 sonarqube 指定的通用格式的覆盖范围。我已经尝试过通用格式,但 sonarqube 忽略了文件的覆盖范围,但正在成功解析它们。
探索更多,我尝试使用 C++ 社区插件 (cxx)。但是我无法禁用 cfamily 插件以便可以使用 C++ 社区。
所以我想知道我是否可以做其他事情,以便我们的 C++ 测试项目的覆盖率可以被 sonarqube 解析。
您是否尝试过 sonar-cxx plug-in 来自 SonarOpenCommunity。此插件为 SonarQube 添加了 C++ 支持。它是免费的 plug-in 并且在 LGPL-3.0 许可下可用。
我使用 OCCSonarQube plugin 在 OpenCppCoverage 生成的覆盖率报告中创建了路径。现在 SonarQube 能够解析通用格式的报告。
我正在使用 Google 测试框架进行 C++ 单元测试。我们正在使用 MsBuild 构建我们的项目(运行s on teamcity)。现在,我希望 sonarqube 解析覆盖信息。我们在 sonarqube 中有 cfamily 插件。与 cfamily 插件兼容的报告有 bullseye、vscoverage、gcov、llvm-cov。据我所知,因为不能用gcc编译,所以排除了llvm-cov和gcov。由于我们正在使用 googletest 并且还想 运行 在 teamcity 上进行此操作,因此 vscoverage 是不可能的。我们没有使用 Bullseye。 (我被告知更多的是用于功能自动化)。
所以我决定使用 OpenCppCoverage 工具。这可以生成 cobertura 格式或 sonarqube 指定的通用格式的覆盖范围。我已经尝试过通用格式,但 sonarqube 忽略了文件的覆盖范围,但正在成功解析它们。
探索更多,我尝试使用 C++ 社区插件 (cxx)。但是我无法禁用 cfamily 插件以便可以使用 C++ 社区。
所以我想知道我是否可以做其他事情,以便我们的 C++ 测试项目的覆盖率可以被 sonarqube 解析。
您是否尝试过 sonar-cxx plug-in 来自 SonarOpenCommunity。此插件为 SonarQube 添加了 C++ 支持。它是免费的 plug-in 并且在 LGPL-3.0 许可下可用。
我使用 OCCSonarQube plugin 在 OpenCppCoverage 生成的覆盖率报告中创建了路径。现在 SonarQube 能够解析通用格式的报告。