我需要能够检查关键位置单元测试所涵盖的C ++代码的好坏程度。我正在使用Clion作为基于Cmake项目结构的IDE(不确定是否支持其他东西)。有没有办法让Clion获得代码覆盖率信息?
答案 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
# CMakeLists.txt
set(CMAKE_C_COMPILER cc)
set(CMAKE_CXX_COMPILER c++)
set(COMPILE_FLAGS "--coverage")
set(CMAKE_EXE_LINKER_FLAGS "--coverage")
文件/设置... /构建,执行,部署/工具链
# 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")
文件/设置... /构建,执行,部署/工具链