C++ 测试自动化:基于 Catch2 的三步集成方案
Catch2 是一个现代化的 C++ 原生测试框架,专为单元测试、TDD 和 BDD 设计,支持 C++14、C++17 及更高版本。它的核心优势在于简单自然的使用方式,让开发者能够快速构建可靠的测试用例,实现 C++ 项目的测试自动化。
1. 快速安装:3 种主流方式任选
1.1 CMake 集成(推荐)
Catch2 提供完善的 CMake 支持,通过官方 CMake 目标可以轻松集成到现有项目中。只需在你的 CMakeLists.txt 中添加以下配置:
find_package(Catch2 3 REQUIRED)
add_executable(tests test.cpp)
target_link_libraries(tests PRIVATE Catch2::Catch2WithMain)
详细配置指南请参考官方文档。
1.2 源码构建安装
通过源码编译安装 Catch2 到系统路径:
git clone https://github.com/catchorg/Catch2
cd Catch2
cmake -B build -S . -DBUILD_TESTING=OFF
sudo cmake --build build/ --target install
1.3 包管理器安装
使用 vcpkg 包管理器一键安装:
vcpkg install catch2
2. 编写测试用例:极简语法上手
2.1 基础测试用例
使用 TEST_CASE 宏定义测试用例,REQUIRE 宏进行断言:
#include <catch2/catch_test_macros.hpp>
TEST_CASE("整数加法测试", "[math]") {
REQUIRE(2 + 2 == 4);
REQUIRE(3 * 5 == 15);
}
2.2 测试套件与标签
通过标签对测试进行分类,便于选择性执行:
TEST_CASE("字符串操作测试", "[string][core]") {
std::string str = "Catch2";
REQUIRE(str.() == );
() {
str += ;
(str == );
}
}

