Documentation
README
C++ 测试(智能体技能)
针对现代 C++ (C++17/20) 的智能体测试工作流,使用 GoogleTest/GoogleMock 配合 CMake/CTest。
适用场景
- 编写新的 C++ 测试或修复现有测试
- 为 C++ 组件设计单元/集成测试覆盖
- 添加测试覆盖、CI 门禁或回归防护
- 配置 CMake/CTest 工作流以实现一致性执行
- 调查测试失败或不稳定(Flaky)行为
- 启用检测器(Sanitizers)进行内存/竞态诊断
不适用场景
- 实施不涉及测试更改的新产品功能
- 与测试覆盖或失败无关的大规模重构
- 在没有测试回归验证的情况下进行性能调优
- 非 C++ 项目或非测试任务
核心概念
- TDD 循环:红(Red)→ 绿(Green)→ 重构(Refactor)(测试先行,最小化修复,然后清理)。
- 隔离性:优先选择依赖注入和伪造对象(Fakes),而非全局状态。
- 测试布局:
tests/unit、tests/integration、tests/testdata。 - Mocks vs Fakes:Mock 用于交互验证,Fake 用于有状态的行为模拟。
- CTest 发现:使用
gtest_discover_tests()进行稳定的测试发现。 - CI 信号:先运行子集,然后使用
--output-on-failure运行完整套件。
TDD 工作流
遵循 红 → 绿 → 重构 循环:
- 红(RED):编写一个捕获新行为的失败测试。
- 绿(GREEN):实施最小化的更改以使测试通过。
- 重构(REFACTOR):在保持测试为绿色的前提下进行清理。
This is the opening of the README. Read the full README on GitHub.