您正在阅读的是开发版本的文档。有关最新发布的版本,请访问 Jazzy.

使用 GTest 用 C++ 编写基本测试

起点:我们假设您有一个 基本的 ament_cmake 软件包 已经设置好了,你想添加一些测试。

在本教程中,我们将使用 测试.

软件包设置

源代码

我们将在一个名为 test/tutorial_test.cpp

#include <gtest/gtest.h>;

测试(包名, a_first_test)
{
  ASSERT_EQ(4, 2 + 2);
}

int 主要(int 参数, 烧焦 ** 参数)
{
  测试::InitGoogleTest(及样品;参数, 参数);
  返回 运行所有测试();
}

package.xml

package.xml

<;测试依赖>;ament_cmake_gtest</测试依赖>;

CMakeLists.txt

如果(构建测试)
  查找软件包(ament_cmake_gtest 要求)
  添加测试(${项目名称}教程测试 test/tutorial_test.cpp)
  目标包含目录(${项目名称}教程测试 公众
    $<;BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>;
    $<;INSTALL_INTERFACE:include>;
  )
  目标链接库(${项目名称}教程测试 本地图书馆名称)
endif()

测试代码封装在 if/endif 块,以尽可能避免构建测试。 添加测试 功能与 添加可执行 因此您需要调用 目标包含目录, ament_target_dependencies目标链接库 和平常一样。

运行测试

参见 如何从命令行运行测试的教程 运行测试和检查测试结果的更多信息。