GoogleTest - 环境设置

本教程将指导您完成在 GoogleTest 框架中设置自己的环境以运行测试用例的整个过程。在运行测试之前,在一个地方配置所有必要的依赖项非常重要。为此,请按照本教程中提到的步骤操作。

在 GoogleTest 上运行测试的主要方法有两种,即 Bazel 和 CMake。在本教程中,我们将使用 CMake。让我们开始在本地系统中安装 CMake。

为 GoogleTest 设置 CMake

CMake 是一种跨平台开源软件,用于生成其他系统的构建文件。将 CMake 与 GoogleTest 集成后,您将能够在构建过程中执行自动化测试。以下是安装和配置 GoogleTest 的 CMake 的分步指南 −

步骤 1

在您最喜欢的浏览器上搜索 CMake 或转到此链接:https://cmake.org/download/。根据您的系统配置下载二进制分发版。

步骤 2

在您的系统中找到下载的文件夹并双击它以开始安装过程。

步骤 3

双击后,将弹出以下窗口。在这里,单击下一步按钮。

cmake installation

步骤 4

通过单击复选框接受许可协议中的条款,然后单击下一步。

cmake installation

步骤 5

接下来,您将看到以下窗口。在这里,选择将 CMake 添加到 PATH 环境变量的选项。

cmake installation

步骤 6

在此步骤中,选择要安装 CMake 的目标文件夹,然后单击下一步按钮。

cmake installation

步骤 7

现在,单击安装按钮开始安装。

cmake installation

步骤 8

成功完成 CMake 后,您将看到以下窗口。在此处,单击完成按钮。

cmake installation

创建"CMakeLists.txt"文件

CMake 中的 "CMakeLists.txt" 文件用于配置项目的构建系统。此文件确定要编译哪些源文件,以及如何处理项目内的依赖项。

对于每个项目,您需要创建 "CMakeLists.txt" 文件并声明对 GoogleTest 的依赖。要在 CMake 中表达依赖关系,请使用 FetchContent 模块。将 GoogleTest 的 github 链接复制并粘贴到此模块中 −

cmake_minimum_required(版本 3.14)
project(您的项目名称)

# GoogleTest 至少需要 C++14
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include(FetchContent)
FetchContent_Declare(
  googletest
  URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip
)
# 对于 Windows:防止覆盖父项目的编译器/链接器设置
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)

使用 CMake 构建项目

要构建您的 GoogleTest 代码,您需要将以下代码添加到 "CMakeLists.txt" 文件的末尾 −

enable_testing()

add_executable(
  test_file
  test_file.cc
)
target_link_libraries(
  test_file
  GTest::gtest_main
)

include(GoogleTest)
gtest_discover_tests(test_file)

注意:我们假设您的 GoogleTest 代码以"test_file.cc"名称保存。