# 测试指南 ## 🚀 快速测试 ### 方法 1: 游戏功能测试(推荐) **最快的测试方法**: 1. 在 Godot 编辑器中打开 `scenes/TestGameplay.tscn` 2. 按 **F6** 运行场景 3. 使用 **WASD** 或方向键移动角色 **预期结果**: - ✅ 看到 Datawhale 办公室场景 - ✅ 角色可以自由移动 - ✅ 相机跟随角色 - ✅ 角色被墙壁和家具阻挡 - ✅ 游戏流畅运行(30+ FPS) ### 方法 2: 单元测试套件 **全面的系统测试**: 1. 在 Godot 编辑器中打开 `tests/RunAllTests.tscn` 2. 按 **F6** 运行 3. 查看控制台输出 **预期结果**: - 所有测试显示 ✅ PASSED - 测试覆盖:角色数据、控制器、状态管理、输入处理、消息协议 ## 🎮 游戏控制测试 ### 基础移动 - **W** - 向上移动 - **S** - 向下移动 - **A** - 向左移动 - **D** - 向右移动 - **E** - 交互(控制台显示消息) - **ESC** - 退出 ### 相机控制(调试模式) - **WASD** - 移动相机查看整个场景 - **Q** - 缩小视图 - **E** - 放大视图 - **鼠标滚轮** - 缩放 - **R** - 重置相机位置 ## 🏢 场景功能测试 ### Datawhale 办公室场景 **测试步骤**: 1. 打开 `scenes/DatawhaleOffice.tscn` 2. 按 F6 运行 3. 使用相机控制查看所有区域 **应该看到**: - 灰色地板和深灰色墙壁 - 棕色家具(办公桌、会议桌、沙发) - **Datawhale 品牌元素**: - 欢迎标识(顶部入口) - 主 Logo 展示(右侧展示区) - 成就墙(右下方) - 地板水印(场景中央) ### 场景导览路线 1. **起点** - 欢迎标识区域 2. 按 **D** 向右 → 主展示区大 Logo 3. 按 **S** 向下 → 成就墙 Logo 4. 按 **Q** 缩小 → 地板水印 5. 按 **R** 重置 → 回到起点 ## 🧪 单元测试详情 ### 测试覆盖范围 **✅ 消息协议测试**: - 属性测试:数据序列化往返(100次迭代) - 单元测试:消息创建和验证 **✅ 游戏状态管理测试**: - 状态转换(LOGIN → CHARACTER_CREATION → IN_GAME) - 数据持久化(保存/加载) - JSON 序列化 **✅ 角色系统测试**: - 属性测试:角色 ID 唯一性(100次迭代) - 角色创建、移动、碰撞检测 - 位置插值和动画 **✅ 输入系统测试**: - 属性测试:设备类型检测(100次迭代) - 键盘输入响应 - 虚拟摇杆(移动端) ### 属性测试 项目包含基于属性的测试(Property-Based Testing): **运行属性测试**: 1. 打开 `tests/RunPropertyTests.tscn` 2. 按 F6 运行 3. 查看详细的测试报告 **测试内容**: - 键盘输入响应(100+ 次迭代) - 服务器更新同步(50 次迭代) - 在线/离线角色显示(各 50 次迭代) ## 🔧 故障排除 ### 常见问题 **Q: 角色不显示?** A: - 检查控制台错误 - 确保游戏窗口是激活状态 - 尝试重新运行场景 **Q: 角色不移动?** A: - 点击游戏窗口确保焦点 - 检查键盘输入是否正常 - 查看控制台错误信息 **Q: 相机不跟随?** A: - 等待几秒让相机初始化 - 移动角色后相机应该开始跟随 **Q: 测试失败?** A: - 查看控制台详细错误信息 - 确保所有文件已保存 - 检查 Godot 版本是否为 4.5.1+ ### 测试检查清单 **场景测试**: - [ ] Datawhale 办公室场景正确加载 - [ ] 场景尺寸为 2000x1500 - [ ] 墙壁和家具正确显示 - [ ] 品牌元素正确显示(4个 Logo 位置) - [ ] 相机限制正确设置 **功能测试**: - [ ] 角色移动响应(WASD) - [ ] 碰撞检测正常 - [ ] 相机跟随角色 - [ ] 交互功能正常(E 键) **单元测试**: - [ ] 所有角色数据测试通过 - [ ] 所有控制器测试通过 - [ ] 所有状态管理测试通过 - [ ] 所有输入处理测试通过 - [ ] 所有消息协议测试通过 ## 🎯 测试目标 ### 主要目标 1. **核心功能** - 角色移动和相机跟随 2. **碰撞检测** - 角色不能穿墙 3. **场景渲染** - 所有元素正确显示 ### 次要目标 4. **品牌展示** - Datawhale Logo 正确显示 5. **性能** - 游戏流畅运行 6. **系统稳定性** - 无错误和崩溃 ## 📊 预期性能 - **帧率**: 30+ FPS - **内存使用**: < 100MB - **启动时间**: < 5 秒 - **响应延迟**: < 50ms ## 🚀 测试完成后 测试成功后,你可以: 1. **继续开发** - 实现更多游戏功能 2. **启动服务器** - 测试多人功能 3. **Web 导出** - 部署到网页版 ## 📝 反馈 如果发现任何问题或有改进建议,请记录下来: - 具体的错误信息 - 重现步骤 - 预期行为 vs 实际行为 - 系统环境信息 --- **准备好了吗?** 打开 `scenes/TestGameplay.tscn`,按 F6,开始测试!🎮