Sfoglia il codice sorgente

📝 docs(prd): add server test migration epic documentation

- 创建Epic文档描述server测试迁移计划
- 定义迁移目标:将web目录中的server测试迁移到独立packages/server目录
- 划分迁移优先级:服务层测试(高)、工具类测试(中)、集成测试(低)
- 规划5个具体实施Story,包括测试环境配置和分阶段迁移策略
- 明确兼容性要求、风险缓解措施和完成定义标准
yourname 4 settimane fa
parent
commit
026755ee76
1 ha cambiato i file con 104 aggiunte e 0 eliminazioni
  1. 104 0
      docs/prd/epic-005-server-test-migration.md

+ 104 - 0
docs/prd/epic-005-server-test-migration.md

@@ -0,0 +1,104 @@
+# Server测试迁移优化 - Brownfield Epic
+
+## Epic Goal
+将当前web目录中对packages/server的测试迁移到packages/server目录中,实现更好的代码组织和测试架构,使packages/server成为一个真正独立的、可测试的库包。
+
+## Epic Description
+
+### 现有系统上下文
+- **当前测试结构**:所有测试集中在web/tests目录下,包括对packages/server的单元测试和集成测试
+- **packages/server现状**:纯库包,没有任何测试配置和测试文件
+- **技术栈**:Node.js + TypeScript + Hono + TypeORM + PostgreSQL + Vitest
+- **集成点**:数据库连接、服务层、工具类、API路由
+
+### 迁移详情
+- **迁移内容**:将web/tests中针对packages/server的单元测试和部分集成测试迁移到packages/server目录
+- **保留内容**:前端组件测试、E2E测试、需要web特定环境的集成测试
+- **目标架构**:
+  - packages/server成为独立的可测试库包
+  - web目录专注于前端和端到端测试
+  - 测试工具类在适当位置共享
+
+### 迁移优先级
+1. **高优先级**:服务层单元测试(UserService、FileService、MinioService等)
+2. **中优先级**:工具类单元测试(backup、restore、jwt等)
+3. **低优先级**:集成测试(需要评估依赖关系)
+
+## Stories
+
+1. **Story 005.001**: 为packages/server配置测试环境
+   - 在packages/server/package.json中添加测试脚本
+   - 创建packages/server/vitest.config.ts配置文件
+   - 建立packages/server/tests目录结构
+   - 配置测试依赖和工具
+
+2. **Story 005.002**: 迁移服务层单元测试
+   - 迁移UserService相关测试
+   - 迁移FileService相关测试
+   - 迁移MinioService相关测试
+   - 迁移AuthService相关测试
+   - 验证迁移后测试正常运行
+
+3. **Story 005.003**: 迁移工具类单元测试
+   - 迁移backup工具测试
+   - 迁移restore工具测试
+   - 迁移jwt工具测试
+   - 迁移其他工具类测试
+   - 验证迁移后测试正常运行
+
+4. **Story 005.004**: 评估和迁移集成测试
+   - 分析集成测试对web环境的依赖
+   - 迁移适合的集成测试到packages/server
+   - 更新测试工具类的共享使用
+   - 验证集成测试正常运行
+
+5. **Story 005.005**: 清理和优化
+   - 清理web目录中已迁移的测试文件
+   - 更新CI/CD配置支持新的测试结构
+   - 更新文档说明新的测试架构
+   - 验证整体测试覆盖率
+
+## 兼容性要求
+
+- [ ] 现有API保持不变
+- [ ] 测试功能对等(迁移前后测试覆盖相同功能)
+- [ ] 现有测试继续正常工作
+- [ ] 性能影响最小
+- [ ] CI/CD流水线支持新的测试结构
+
+## 风险缓解
+
+- **主要风险**:测试迁移导致测试失败或遗漏
+- **缓解措施**:逐步迁移,保持新旧测试并行运行一段时间
+- **次要风险**:测试工具类依赖关系复杂
+- **缓解措施**:仔细分析依赖,创建适当的共享机制
+- **回滚计划**:恢复原有测试文件,删除packages/server中的测试配置
+
+## 完成定义
+
+- [ ] Story 005.001完成且验收标准满足
+- [ ] 服务层单元测试成功迁移
+- [ ] 工具类单元测试成功迁移
+- [ ] 集成测试评估完成
+- [ ] 测试通过率100%
+- [ ] CI/CD流水线支持新的测试结构
+
+## 验证检查清单
+
+### 范围验证
+- [ ] Epic目标清晰可实现
+- [ ] 故事范围适当
+- [ ] 迁移策略合理
+- [ ] 集成复杂度可控
+
+### 风险评估
+- [ ] 对现有系统风险低
+- [ ] 回滚计划可行
+- [ ] 测试覆盖无遗漏
+- [ ] 团队具备迁移知识
+
+### 完整性检查
+- [ ] Epic目标清晰可实现
+- [ ] 故事范围适当
+- [ ] 成功标准可衡量
+- [ ] 依赖项已识别