1. 准备工作
1.1. 演示环境
系统版本 | WSL 版本 | Linux 发行版 | Clion 版本 |
---|---|---|---|
Windows 11 Pro 23H2 | 2 | Ubuntu 22.04.3 LTS (Microsoft Store) | 2024.2.0.1 |
本文默认Windows
已完成 wsl2
的安装,我们从 Microsoft Store
下载的纯净发行版开始,演示配置过程。
1.2. 安装依赖
-
更新软件包列表
sudo apt update
-
安装必要开发工具
sudo apt install cmake g++ gcc libgtest-dev gdb
2. 在Clion中配置WSL2环境
2.1 配置Clion使用WSL2作为工具链
- 打开
Clion
,进入File | Settings | Build, Execution, Deployment | Toolchains
。 - 添加一个新的
WSL
工具链,Clion
会自动检测WSL2
环境。
2.1 配置Clion使用gcov作为覆盖率工具
- 打开
Clion
,进入File | Settings | Build, Execution, Deployment | Coverage
。 - 我们使用
gcc
作为编译工具,因此只需要添加gcov
路径即可/usr/bin/gcov
(建议手动定位可执行文件)。
3. 编写测试的代码
3.1. 简单写一个斐波那契数列
3.2. 添加单元测试
在项目根目录新建一个 test
文件夹,可以按照 src
目录结构创建测试文件。
3.3. 配置CMake参数
- 打开
Clion
,进入File | Settings | Build, Execution, Deployment | CMake
。 - 复制一份
Debug
,改为Tests
,并添加CMake options
:-DENABLE
。
- 选择
Tests CMake Profile
, 自动检测到google test
,没检测到可以尝试手动Reload CMake Project
4. 检查单元测试结果和覆盖率
- 点击
Run 'TestMath' with Coverage
带覆盖率运行单元测试
- 首次运行会报错,点击
Fix and rerun
自动添加即可
- 再次运行,正常显示覆盖率总结
5. 总结
本文介绍了如何在Clion
中使用 WSL2
环境配置 Linux
下的 gtest
和 gcov
。通过这些配置,开发者可以方便地在Windows
环境中进行Linux
下的单元测试和代码覆盖率分析。希望本文对您的开发工作有所帮助。