searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

在Clion+wsl2中配置cmake+gtest+gcov

2024-08-26 09:48:30
67
0

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. 安装依赖
  1. 更新软件包列表

    sudo apt update
    
  2. 安装必要开发工具

    sudo apt install cmake g++ gcc libgtest-dev gdb
    

2. 在Clion中配置WSL2环境

2.1 配置Clion使用WSL2作为工具链
  1. 打开Clion,进入 File | Settings | Build, Execution, Deployment | Toolchains
  2. 添加一个新的 WSL工具链,Clion会自动检测 WSL2环境。

Pasted image 20240826094750.png

2.1 配置Clion使用gcov作为覆盖率工具
  1. 打开Clion,进入 File | Settings | Build, Execution, Deployment | Coverage
  2. 我们使用gcc作为编译工具,因此只需要添加 gcov路径即可 /usr/bin/gcov (建议手动定位可执行文件)。

Pasted image 20240826093614.png

3. 编写测试的代码

3.1. 简单写一个斐波那契数列

Pasted image 20240826095803.png

3.2. 添加单元测试

在项目根目录新建一个 test 文件夹,可以按照 src 目录结构创建测试文件。
Pasted image 20240826101037.png

3.3. 配置CMake参数
  1. 打开Clion,进入 File | Settings | Build, Execution, Deployment | CMake
  2. 复制一份 Debug,改为 Tests,并添加 CMake options: -DENABLE

Pasted image 20240826100418.png

  1. 选择Tests CMake Profile, 自动检测到 google test,没检测到可以尝试手动Reload CMake Project

Pasted image 20240826101325.png

4. 检查单元测试结果和覆盖率

  1. 点击 Run 'TestMath' with Coverage 带覆盖率运行单元测试
    Pasted image 20240826101424.png
  2. 首次运行会报错,点击 Fix and rerun 自动添加即可
    Pasted image 20240826101909.png
  3. 再次运行,正常显示覆盖率总结Pasted image 20240826102430.png

5. 总结

本文介绍了如何在Clion中使用 WSL2环境配置 Linux下的 gtestgcov。通过这些配置,开发者可以方便地在Windows环境中进行Linux下的单元测试和代码覆盖率分析。希望本文对您的开发工作有所帮助。

0条评论
0 / 1000
InuaNG
4文章数
1粉丝数
InuaNG
4 文章 | 1 粉丝
原创

在Clion+wsl2中配置cmake+gtest+gcov

2024-08-26 09:48:30
67
0

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. 安装依赖
  1. 更新软件包列表

    sudo apt update
    
  2. 安装必要开发工具

    sudo apt install cmake g++ gcc libgtest-dev gdb
    

2. 在Clion中配置WSL2环境

2.1 配置Clion使用WSL2作为工具链
  1. 打开Clion,进入 File | Settings | Build, Execution, Deployment | Toolchains
  2. 添加一个新的 WSL工具链,Clion会自动检测 WSL2环境。

Pasted image 20240826094750.png

2.1 配置Clion使用gcov作为覆盖率工具
  1. 打开Clion,进入 File | Settings | Build, Execution, Deployment | Coverage
  2. 我们使用gcc作为编译工具,因此只需要添加 gcov路径即可 /usr/bin/gcov (建议手动定位可执行文件)。

Pasted image 20240826093614.png

3. 编写测试的代码

3.1. 简单写一个斐波那契数列

Pasted image 20240826095803.png

3.2. 添加单元测试

在项目根目录新建一个 test 文件夹,可以按照 src 目录结构创建测试文件。
Pasted image 20240826101037.png

3.3. 配置CMake参数
  1. 打开Clion,进入 File | Settings | Build, Execution, Deployment | CMake
  2. 复制一份 Debug,改为 Tests,并添加 CMake options: -DENABLE

Pasted image 20240826100418.png

  1. 选择Tests CMake Profile, 自动检测到 google test,没检测到可以尝试手动Reload CMake Project

Pasted image 20240826101325.png

4. 检查单元测试结果和覆盖率

  1. 点击 Run 'TestMath' with Coverage 带覆盖率运行单元测试
    Pasted image 20240826101424.png
  2. 首次运行会报错,点击 Fix and rerun 自动添加即可
    Pasted image 20240826101909.png
  3. 再次运行,正常显示覆盖率总结Pasted image 20240826102430.png

5. 总结

本文介绍了如何在Clion中使用 WSL2环境配置 Linux下的 gtestgcov。通过这些配置,开发者可以方便地在Windows环境中进行Linux下的单元测试和代码覆盖率分析。希望本文对您的开发工作有所帮助。

文章来自个人专栏
音视频后端技术
4 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0