- 添加 AppController 测试用例,测试回调接口的错误处理 - 新增控制器、服务层、平台服务等全面的单元测试 - 优化增强模板控制器的错误处理和审核完成事件处理 - 添加数据库迁移脚本支持统一异步架构升级 - 完善 TypeScript 配置,添加 jest 类型支持 - 修复端到端测试,确保 API 响应格式正确性 - 所有测试通过 (109 个测试用例),覆盖率达到要求 |
||
|---|---|---|
| .. | ||
| README.md | ||
| app.e2e-spec.ts | ||
| jest-e2e.json | ||
| postman-collection.json | ||
README.md
模板执行API测试文档
🎯 测试概述
本测试套件用于验证原有API和新的统一异步架构API的功能和性能。测试基于您提供的具体参数:
- 图片URL:
https://cdn.roasmax.cn/upload/676d85ae7c6347f49700631c84a13051.jpg - 模板代码:
photo_restore_v1 - 认证令牌:
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
📁 测试文件说明
1. integration-test.js - 完整集成测试
用途: 全面的自动化测试,包含性能对比和错误场景测试
运行方式:
cd test
node integration-test.js
特性:
- ✅ 自动测试原有API和异步API
- ✅ 性能对比分析
- ✅ 状态轮询验证
- ✅ 错误场景测试
- ✅ 详细的测试报告
2. quick-test.js - 快速测试
用途: 简化版本,快速验证API基本功能
运行方式:
cd test
node quick-test.js
特性:
- ✅ 快速验证API可用性
- ✅ 基础响应检查
- ✅ 简化输出格式
3. postman-collection.json - Postman测试集合
用途: 导入Postman进行可视化测试
使用方式:
- 打开Postman
- 点击 Import
- 选择
postman-collection.json文件 - 运行测试集合
包含测试:
- 原有同步API
- 新的异步API
- 状态查询
- 模板列表获取
- 错误场景测试
4. curl-commands.sh - cURL命令脚本
用途: 使用cURL命令行工具进行测试
运行方式:
cd test
chmod +x curl-commands.sh
./curl-commands.sh
特性:
- ✅ 无需额外工具
- ✅ 适合CI/CD集成
- ✅ 详细的状态查询循环
- ✅ 实时性能指标
🚀 测试API对比
原有同步API
POST /api/v1/templates/code/photo_restore_v1/execute
{
"imageUrl": "https://cdn.roasmax.cn/upload/676d85ae7c6347f49700631c84a13051.jpg"
}
特点:
- 🔄 同步执行,需要等待完整结果
- ⏱️ 响应时间较长(2-5秒)
- 🚫 可能遇到审核阻塞问题
新的异步API
步骤1: 提交任务
POST /enhanced/templates/code/photo_restore_v1/execute
{
"imageUrl": "https://cdn.roasmax.cn/upload/676d85ae7c6347f49700631c84a13051.jpg"
}
响应示例:
{
"code": 200,
"message": "模板执行已提交,正在进行图片审核",
"data": {
"executionId": 123,
"auditTaskId": "audit_bytedance_1726500000_abc123",
"status": "pending_audit",
"message": "图片审核中,请查询执行进度获取最新状态"
}
}
步骤2: 查询状态
GET /enhanced/templates/{executionId}/status
响应示例:
{
"code": 200,
"message": "查询成功",
"data": {
"executionId": 123,
"status": "completed",
"statusDescription": "执行完成",
"auditTaskId": "audit_bytedance_1726500000_abc123",
"templateName": "照片修复模板",
"inputImageUrl": "https://cdn.roasmax.cn/upload/676d85ae7c6347f49700631c84a13051.jpg",
"outputUrl": "https://example.com/result.jpg",
"startedAt": "2024-12-05T10:00:00Z",
"completedAt": "2024-12-05T10:02:30Z"
}
}
📊 状态流转说明
异步API的状态会按以下顺序变化:
pending_audit → processing → completed
↓ ↓ ↓
图片审核中 AI生成中 执行完成
或者:
pending_audit → audit_failed
↓ ↓
图片审核中 审核未通过
🔧 运行前准备
1. 确保服务运行
npm run start:dev
# 或
npm run start:prod
2. 验证服务状态
curl http://localhost:3003/api/v1/templates
3. 检查认证令牌
确保提供的JWT令牌未过期且有效。
📈 预期测试结果
性能对比
| 指标 | 原有API | 异步API | 改进 |
|---|---|---|---|
| 初次响应时间 | 2-5秒 | <200ms | 90%+ |
| 用户体验 | 阻塞等待 | 异步轮询 | 大幅提升 |
| 系统吞吐 | 串行处理 | 并行处理 | 3-5倍 |
功能验证
- ✅ API调用成功
- ✅ 响应格式正确
- ✅ 状态流转正常
- ✅ 错误处理恰当
- ✅ 认证验证通过
🐛 常见问题排查
1. 连接失败
现象: ECONNREFUSED
解决: 确保服务在3003端口启动
2. 认证失败
现象: 401 Unauthorized
解决: 检查JWT令牌是否正确且未过期
3. 图片访问失败
现象: 无效的图片URL
解决: 确保图片URL可公网访问
4. 超时问题
现象: 请求超时 解决:
- 检查网络连接
- 适当增加超时时间
- 确认服务器负载正常
📝 测试报告模板
测试完成后,请记录以下信息:
测试时间: ______
测试环境: ______
服务版本: ______
原有API:
- 响应时间: ____ms
- 成功率: ____%
- 错误信息: ______
异步API:
- 初次响应时间: ____ms
- 完整执行时间: ____ms
- 成功率: ____%
- 状态变化: pending_audit → ____ → ____
性能提升:
- 响应速度提升: ____%
- 用户体验改善: ______
- 推荐使用: [原有API / 异步API]
问题记录:
1. ______
2. ______
建议:
1. ______
2. ______
🎯 下一步建议
-
如果异步API测试成功:
- 建议迁移到新的异步架构
- 更新客户端代码支持状态轮询
- 逐步废弃原有同步API
-
如果发现问题:
- 记录详细错误信息
- 检查服务器日志
- 联系开发团队解决
-
生产环境部署前:
- 执行完整的集成测试
- 进行压力测试
- 验证监控和告警系统
测试套件版本: v1.0
最后更新: 2024-12-05
维护者: AI Assistant