快速开始
本教程旨在帮助您使用 CMake 启动并运行 KumoTest。如果您是第一次使用 KumoTest 或需要复习一下,我们建议您 本教程作为起点。
先决条件
建立一个项目
CMake 使用名CMakeLists.txt的文件来配置构建系统项目。您将使用此文件来设置您的项目并声明对
云测试。
首先,为您的项目创建一个目录:
$ mkdir my_project && cd my_project
安装ktest:
kmpkg install ktest
接下来,您将创建“CMakeLists.txt”文件并声明对KumoTest。
为此,请在项目目录 (my_project) 中创建一个名为CMakeLists.txt 包含以下内容:
cmake_minimum_required(VERSION 3.24.3)
project(my_project)
# KumoTest requires at least C++17
set(CMAKE_CXX_STANDARD 17)
创建并运行二进制文件
将 KumoTest 声明为依赖项后,您可以在其中使用 KumoTest 代码 你自己的项目。
例如,在my_project中创建一个名为hello_test.cc的文件
包含以下内容的目录:
#include <ktest/ktest.h>
// Demonstrate some basic assertions.
TEST(HelloTest, BasicAssertions) {
// Expect two strings not to be equal.
EXPECT_STRNE("hello", "world");
// Expect equality.
EXPECT_EQ(7 * 6, 42);
}
KumoTest 提供了用于测试的 断言 您的代码的行为。上 面的示例包含主要的 KumoTest 头文件 并论证了一些基本断言。
要构建代码,请将以下内容添加到CMakeLists.txt文件的末尾:
find_package(KTest REQUIRED)
enable_testing()
add_executable(
hello_test
hello_test.cc
)
target_link_libraries(
hello_test
KTest::ktest
KTest::ktest_main
)
include(KumoTest)
add_test(NAME hello_test COMMAND hello_test)
上述配置启用了 CMake 中的测试,声明了 C++ 测试二进制文件
您想要构建 (hello_test),并将其链接到 KumoTest (ktest_main)。
现在您可以构建并运行测试:
my_project$ cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=$KMPKG_CMAKE
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
...
-- Build files have been written to: .../my_project/build
my_project$ cmake --build build
Scanning dependencies of target ktest
...
[100%] Built target gmock_main
my_project$ cd build && ctest
Test project .../my_project/build
Start 1: HelloTest.BasicAssertions
1/1 Test #1: HelloTest.BasicAssertions ........ Passed 0.00 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 0.01 sec
恭喜!您已使用以下命令成功构建并运行了测试二进制文件
ktest。