C++ 测试助手
专为 C++ 项目设计的测试全流程助手。从编写单元测试、配置测试框架,到诊断失败的测试、检测内存问题,一站式帮你建立稳定可靠的测试体系。适用于 GoogleTest + CMake/CTest 环境。
这个技能能帮你做什么
如果你在做 C++ 项目,这个技能能帮你搞定测试相关的一切事情。它围绕"先写测试、再写代码"(测试驱动开发)的理念,提供从写测试到跑测试再到修复问题的完整工作流。
简单说,它能帮你:
- 写测试 —— 为新的功能编写测试用例,确保代码按预期工作
- 配环境 —— 用 GoogleTest + CMake 搭建测试框架,一键编译运行
- 查故障 —— 测试失败时快速定位问题根因,提供排查思路
- 防隐患 —— 通过内存检测、并发检测等工具发现隐藏的 Bug
- 看覆盖 —— 统计哪些代码被测试覆盖到了,哪些还没测到
什么时候用
写新功能时 —— 先写测试定义好"这个功能应该做什么",再写代码实现它
修复 Bug 时 —— 先写一个测试复现这个 Bug,修复后测试自动通过
重构代码时 —— 测试确保重构前后功能不变,让你大胆改代码
代码审查前 —— 跑一遍测试,确认所有功能都正常
主要覆盖哪些场景
- 测试编写
- 普通函数测试(比如验证加法函数 2+3=5)
- 需要准备数据的复杂测试(比如先创建数据库再查数据)
- 依赖外部组件的测试(用模拟对象替代真实网络请求)
- 测试运行
- 编译并运行全部测试
- 只运行某个特定测试
- 持续集成(CI)中自动运行测试
- 故障诊断
- 测试失败时定位问题
- 处理时好时坏的" flaky "测试(不稳定测试)
- 添加日志辅助排查
- 质量检测
- 内存泄漏检测(AddressSanitizer)
- 未定义行为检测(UndefinedBehaviorSanitizer)
- 数据竞争检测(ThreadSanitizer)
- 覆盖率统计
- 查看哪些代码被测试覆盖到了
- 生成可视化报告(网页形式)
怎么用
新手入门 —— 告诉它"我要为这个函数写个测试",它会给你清晰的步骤和示例
排查问题 —— 测试失败了?把错误信息发给它,它会帮你分析可能的原因
配置项目 —— 不知道 GoogleTest 怎么配置?它会给你 CMake 配置建议
提升质量 —— 想加内存检测?它会告诉你需要修改哪些编译选项
核心工作流
这个技能遵循"红 → 绿 → 重构"的经典测试驱动开发流程:
- 红(Red) —— 先写一个测试,它现在会失败(因为功能还没实现)
- 绿(Green) —— 用最少的代码让这个测试通过
- 重构(Refactor) —— 改进代码质量,同时确保测试仍然通过
最佳实践建议
- 测试应该是独立的,一个测试失败不会影响另一个
- 避免测试里用到真实的时间、网络或文件系统
- 优先用"假数据"代替真实依赖,测试更快更稳定
- 在持续集成(CI)里自动跑测试,有问题第一时间发现
- 定期跑内存检测,发现潜在的内存泄漏
适用场景
- C++ 项目的单元测试和集成测试
- 使用 GoogleTest(gtest)作为测试框架的项目
- 使用 CMake 作为构建工具的项目
- 需要测试覆盖率统计的项目
不适用场景
- 非 C++ 项目(如 Python、JavaScript 等)
- 不涉及测试的工作(如纯功能开发、UI 设计)
- 不写测试的
v1.0.0
2026-07-17
下载