测试与调试
本课目标
完成标志:能运行与你的改动直接相关的检查,并在 PR 中准确记录结果
从最小验证开始
| 改动 | 至少验证 |
|---|---|
| 文档或文本 | 链接、拼写和对应格式检查 |
| JSON 内容 | 项目 JSON 格式检查、游戏加载、实际生成或使用 |
| C++ 逻辑 | 编译受影响目标、相关单元测试、游戏内复现 |
| 图形或输入 | 对应 SDL 后端构建、实际交互、必要时多个平台 |
| 构建与 CI | 本地执行等价命令,并检查受影响矩阵 |
单元测试
Make 构建可使用项目提供的测试目标:
make -j4 check
CMake 用户按 doc/c++/COMPILING-CMAKE.md 构建并运行测试目标。需要缩小范围时先查看测试程序 --help,再使用 Catch2 的标签或名称过滤;不要在文档里长期硬编码可能变化的二进制路径。
JSON 与格式
使用 Makefile 和 tools/ 中当前提供的项目命令。格式化只覆盖你修改的内容,并在提交前查看 diff,避免把机械重排与功能修改混在一起。
游戏内调试
建立专门测试世界,使用调试菜单准备场景,并记录:初始条件、操作步骤、预期结果、实际结果。修复 bug 时先确认旧代码可以稳定复现,再验证修改后不再出现。
定位崩溃或异常
- 保存日志、版本号、构建选项和最小复现步骤。
- 用调试构建复现,获取断言、堆栈或调试器停点。
- 沿第一个属于项目代码的有效栈帧检查状态。
- 添加能在修复前失败、修复后通过的测试。
下一课:提交贡献