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

201 lines
4.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 测试指南
## 🚀 快速测试
### 方法 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开始测试🎮