如何在Clion中查看代码覆盖率

时间:2016-12-16 12:53:08

标签: c++ unit-testing c++11 code-coverage clion

我需要能够检查关键位置单元测试所涵盖的C ++代码的好坏程度。我正在使用Clion作为基于Cmake项目结构的IDE(不确定是否支持其他东西)。有没有办法让Clion获得代码覆盖率信息?

2 个答案:

答案 0 :(得分:5)

目前在CLion中没有这样的功能。功能请求exists。此外,我们还没有发现任何现有的CLion代码覆盖插件。

答案 1 :(得分:1)

CLion的最新 vanilla 版本(例如2020.1.1)有可能-无需插件。


详细信息

请参见official doc

例如,在Linux(Fedora 31)上:

  • 取决于编译器,确保CLion选择正确的工具链:

    即使CMakeLists.txt为构建设置了编译器,它也可能 与IDE选择的显示覆盖范围不同(有待改进)。

  • 很明显,请在IDE外部安装必要的工具,并确保它们的版本匹配:

    sudo dnf install clang llvm # ...
    sudo dnf update
    

gcc

# CMakeLists.txt
set(CMAKE_C_COMPILER cc)
set(CMAKE_CXX_COMPILER c++)
set(COMPILE_FLAGS "--coverage")
set(CMAKE_EXE_LINKER_FLAGS "--coverage")

文件/设置... /构建,执行,部署/工具链

gcc


c

# CMakeLists.txt
set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang++)
set(COMPILE_FLAGS "-fprofile-instr-generate -fcoverage-mapping")
set(CMAKE_EXE_LINKER_FLAGS "-fprofile-instr-generate")

文件/设置... /构建,执行,部署/工具链

clang