test:添加认证系统测试套件

- 添加UI测试场景,支持模拟各种认证场景
- 实现API测试脚本,覆盖登录、注册、验证码等接口
- 添加测试文档,说明测试用例和预期结果
- 支持自动化测试和手动测试验证
This commit is contained in:
2025-12-24 20:37:33 +08:00
parent c6bcca4e7f
commit 47cfc14f68
7 changed files with 1511 additions and 0 deletions

165
tests/auth/README.md Normal file
View File

@@ -0,0 +1,165 @@
# 认证UI测试
这个文件夹包含了登录和注册界面的UI响应测试具有美观优雅的反馈系统。
## 文件说明
- `auth_ui_test.tscn` - 测试场景文件
- `auth_ui_test.gd` - 测试脚本
- `README.md` - 本说明文件
## 如何运行测试
### 方法1在Godot编辑器中运行
1. 在Godot编辑器中打开 `tests/auth/auth_ui_test.tscn` 文件
2. 点击编辑器右上角的"播放场景"按钮或按F6键
3. 如果仍然跳转到主场景,请尝试以下步骤:
- 确保当前打开的是测试场景文件
- 在场景面板中右键点击根节点,选择"Change Scene"
- 或者在项目设置中临时更改主场景为测试场景
### 方法2通过代码运行
在任何脚本中添加以下代码来切换到测试场景:
```gdscript
get_tree().change_scene_to_file("res://tests/auth/auth_ui_test.tscn")
```
## 界面布局
### 左侧:认证界面
- 完整的登录和注册界面
- 实时表单验证
- Toast消息显示
- 字段错误提示
### 右侧:测试控制面板
#### 🧪 UI响应测试标题
#### 📋 测试反馈面板
- **智能反馈系统**:实时显示测试执行状态
- **颜色编码**
- 🔵 蓝色:信息提示
- 🟢 绿色:成功响应
- 🔴 红色:错误响应
- **详细信息**
- 测试名称和类型
- HTTP状态码
- 响应消息和错误代码
- 预期的UI反馈效果
- **自动滚动**:新消息自动滚动到可见区域
#### 🎯 测试用例按钮
16个精美设计的测试按钮按功能分组
## 测试功能
### 登录测试4个
-**登录成功**状态码200
- 预期绿色Toast "登录成功!正在进入鲸鱼镇...",跳转到主场景
-**用户名或密码错误**状态码401
- 预期红色Toast "用户名或密码错误,请检查后重试"
-**用户不存在**状态码404
- 预期红色Toast "用户不存在,请先注册"
-**参数错误**状态码400
- 预期红色Toast根据具体错误显示
### 发送验证码测试5个
-**发送成功**状态码200
- 预期绿色Toast "验证码已发送到您的邮箱"
-**邮箱格式错误**状态码400
- 预期红色Toast "请输入有效的邮箱地址"
-**请求过频**状态码429
- 预期红色Toast "请求过于频繁,请稍后再试"
-**服务器错误**状态码500
- 预期红色Toast "服务器繁忙,请稍后再试"
-**网络错误**状态码0
- 预期红色Toast "网络连接失败,请检查网络连接"
### 邮箱验证测试3个
-**验证成功**状态码200
- 预期绿色Toast "邮箱验证成功,正在注册..."
-**验证码错误**状态码400
- 预期红色Toast "验证码错误或已过期"
-**验证码不存在**状态码404
- 预期红色Toast "请先获取验证码"
### 注册测试6个
-**注册成功**状态码201
- 预期绿色Toast "注册成功!欢迎加入鲸鱼镇",切换到登录界面
-**参数错误**状态码400
- 预期红色Toast根据具体错误显示
-**缺少验证码**状态码400
- 预期红色Toast "请先获取并输入邮箱验证码"
-**用户已存在**状态码409
- 预期红色Toast "用户名或邮箱已被使用,请换一个"
-**请求过频**状态码429
- 预期红色Toast "注册请求过于频繁,请稍后再试"
-**服务器错误**状态码500
- 预期红色Toast "注册失败,请稍后再试"
## 测试步骤
1. **启动测试场景**
- 运行测试场景后,右侧反馈面板会显示欢迎信息和使用说明
2. **准备测试数据**
- 在左侧认证界面切换到注册界面
- 填写测试数据:
- 用户名testuser
- 邮箱test@example.com
- 密码password123
- 确认密码password123
- 验证码123456
3. **执行测试**
- 点击右侧对应的测试按钮
- 观察反馈面板中的详细信息:
- 🚀 测试开始提示
- 📡 请求类型和状态码
- ⚡ HTTP响应模拟
- 🎯 预期UI反馈说明
- ✅/❌ 测试完成状态
4. **观察UI反馈**
- 左侧界面的实际反馈效果
- Toast消息的颜色和内容
- 字段错误提示的显示
- 按钮状态的变化
## 反馈系统特色
### 🎨 美观设计
- 使用Emoji图标增强视觉效果
- 颜色编码区分不同状态
- 圆角边框和阴影效果
- 按钮分组和分隔符
### 📊 详细分析
- 实时显示测试执行过程
- 预期vs实际效果对比
- HTTP响应详细解析
- 错误代码和消息说明
### 🔄 交互体验
- 自动滚动到最新消息
- 按钮悬停效果
- 平滑的颜色过渡
- 响应式布局
## 注意事项
- 测试场景会自动断开`login_success`信号,避免跳转到主场景
- 按ESC键可以优雅退出测试显示退出提示
- 所有测试都是模拟的,不会发送真实的网络请求
- 反馈面板会保留测试历史,便于对比分析
- 测试按钮按功能分组,每组之间有分隔符
## 预期行为验证
这个测试系统不仅模拟后端响应还会告诉你每种情况下应该看到什么UI反馈帮助你验证
1. **Toast消息系统**是否正常工作
2. **字段验证错误**是否正确显示
3. **按钮状态管理**是否符合预期
4. **用户体验流程**是否顺畅
通过对比预期效果和实际效果可以快速发现UI反馈系统中的问题并进行修复。