将C++覆盖与sonarqube集成



我使用Google测试框架进行C++单元测试。我们正在使用MsBuild(在teamcity上运行(构建我们的项目。现在,我想让sonarqube解析覆盖信息。我们在sonarqube中有cfamily插件。与cfamily插件兼容的报告有bullseye、vscoverage、gcov、llvm-cov。据我所知,因为我们不能使用gcc进行编译,所以排除了llvm-cov和gcov。由于我们正在使用谷歌测试,并且还想在teamcity上运行,因此vscoverage是不可能的。我们没有使用牛眼。(有人告诉我,它更多的是用于功能自动化(。

所以我决定使用OpenCppCoverage工具。这可以生成cobertura格式或sonarqube指定的通用格式的覆盖范围。我尝试过通用格式,但sonarqube忽略了文件的覆盖范围,但成功地解析了它们。

探索更多,我尝试使用C++社区插件(cxx(。但我没能禁用cfamily插件,这样C++社区就可以使用了。

所以我想知道我是否可以做一些其他的事情,以便sonarqube可以解析我们C++测试项目的覆盖范围。

您是否尝试了SonarOpenCommunity中的sonar cxx插件。此插件为SonarQube添加了C++支持。它是免费的插件,可与LGPL-3.0许可证一起使用。

我使用OCCSonarQube插件在OpenCppCoverage生成的覆盖率报告中创建了路径。现在SonarQube能够以通用格式解析报告。

最新更新