Files
whale-town/HOW_TO_TEST.md
2025-12-05 19:00:14 +08:00

4.7 KiB
Raw Blame History

测试指南

🚀 快速测试

方法 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. 场景渲染 - 所有元素正确显示

次要目标

  1. 品牌展示 - Datawhale Logo 正确显示
  2. 性能 - 游戏流畅运行
  3. 系统稳定性 - 无错误和崩溃

📊 预期性能

  • 帧率: 30+ FPS
  • 内存使用: < 100MB
  • 启动时间: < 5 秒
  • 响应延迟: < 50ms

🚀 测试完成后

测试成功后,你可以:

  1. 继续开发 - 实现更多游戏功能
  2. 启动服务器 - 测试多人功能
  3. Web 导出 - 部署到网页版

📝 反馈

如果发现任何问题或有改进建议,请记录下来:

  • 具体的错误信息
  • 重现步骤
  • 预期行为 vs 实际行为
  • 系统环境信息

准备好了吗?

打开 scenes/TestGameplay.tscn,按 F6开始测试🎮