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下的单元测试和代码覆盖率分析。希望本文对您的开发工作有所帮助。