一个简单的实操学会使用cmake将googletest组织到C++工程中,进行单元测试并分析结果(附实操源码)

对于使用 CMake 将 GoogleTest 集成到 C++ 项目中,可以通过将 GoogleTest 作为子模块添加到项目中并适当设置 CMakeLists.txt 文件来完成。以下是步骤的详细说明和相关文件的配置。

1. 准备项目结构

假设项目结构如下:

MyProject/
|-- CMakeLists.txt
|-- src/
|   |-- CMakeLists.txt
|   |-- example.cpp
|   |-- example.h
|-- tests/
    |-- CMakeLists.txt
    |-- test_example.cpp
|-- extern/
    |-- googletest/

2. 添加 GoogleTest 作为工程子模块

在项目根目录下运行以下命令以添加 GoogleTest 为子模块:
查看自己环境cmake版本:

cmake --version

① 以我的环境cmake为3.10.0版本为例,对应下载googletest的v1.13.0版本,网址:https://github.com/google/googletest/releases/tag/v1.13.0,可以自行下载解压到MyProject/extern/文件夹下。

② 如果环境的cmake为大于等于3.14.0版本,则可以直接执行下面命令,下载最新版googletest:

cd MyProject/extern
git clone git@github.com:google/googletest.git

3. 编辑 CMakeLists.txt 文件

根目录 CMakeLists.txt

在项目的根目录 CMakeLists.txt 文件中,你需要添加对子目录的引用和基本的项目设置。

cmake_minimum_required(VERSION 3.10)
project(MyProject)

# Enable C++11
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

# Add subdirectories
add_subdirectory(src)
add_subdirectory(tests)
add_subdirectory(extern/googletest)
src 目录下的 CMakeLists.txt

在 src 目录的 CMakeLists.txt 文件中,添加构建应用程序所需的源文件。

add_library(core example.cpp)

target_include_directories(core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
tests 目录下的 CMakeLists.txt

在 tests 目录的 CMakeLists.txt 文件中,设置测试的构建和链接:

# 指定测试可执行文件
add_executable(runTests test_example.cpp)

# 链接 Google Test 的库和应用库
target_link_libraries(runTests gtest gtest_main core)

# 启用测试
enable_testing()

# 添加测试
add_test(NAME example_tests COMMAND runTests)

4. 源代码和测试代码

确保你有正确的头文件和源代码实现。

example.h
#ifndef EXAMPLE_H
#define EXAMPLE_H

int add(int a, int b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Warren++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值