소스 검색

📝 docs(testing): 更新API测试基础设施文档,反映hono/testing迁移

- 修改Story 1标题为"迁移到hono/testing测试基础设施",增加迁移自定义ApiClient到hono/testing的testClient()任务
- 更新Story 2描述,明确使用hono/testing实现用户API测试,所有测试项添加"使用testClient"说明
- 添加新的验收标准:测试工具迁移保持功能对等(自定义ApiClient → hono/testing)
- 更新风险缓解部分,增加测试工具迁移导致现有测试中断的风险及缓解措施
- 更新Story 004.001状态为"In Progress (需要迁移到hono/testing)",调整任务列表以反映迁移工作
- 更新完成标准,将迁移到hono/testing和重新实现用户API测试标记为进行中
- 更新文件列表,标记需要迁移到hono/testing的文件及需要重构或移除的文件
yourname 2 달 전
부모
커밋
23a0d1d476
2개의 변경된 파일25개의 추가작업 그리고 19개의 파일을 삭제
  1. 10 6
      docs/prd/epic-004-api-actual-request-testing.md
  2. 15 13
      docs/stories/004.001.story.md

+ 10 - 6
docs/prd/epic-004-api-actual-request-testing.md

@@ -22,15 +22,16 @@
 
 ## Stories
 
-1. **Story 1**: 建立实际请求测试基础设施
+1. **Story 1**: 迁移到hono/testing测试基础设施
    - 配置测试数据库环境
    - 创建测试数据准备和清理工具
    - 实现测试专用的数据库连接
+   - 迁移自定义ApiClient到hono/testing的testClient()
 
-2. **Story 2**: 实现用户API实际请求测试
-   - 用户CRUD操作的实际HTTP测试
-   - 认证和授权的端到端测试
-   - 数据验证和错误处理测试
+2. **Story 2**: 使用hono/testing实现用户API实际请求测试
+   - 用户CRUD操作的实际HTTP测试(使用testClient)
+   - 认证和授权的端到端测试(使用testClient)
+   - 数据验证和错误处理测试(使用testClient)
 
 3. **Story 3**: 集成到CI/CD流水线
    - 配置测试数据库的CI/CD环境
@@ -41,13 +42,16 @@
 
 - [✅] 现有API保持不变
 - [✅] 数据库schema变更向后兼容
-- [✅] 现有测试继续正常工作
+- [✅] 现有测试继续正常工作(迁移到hono/testing后)
 - [✅] 性能影响最小(测试专用数据库)
+- [✅] 测试工具迁移保持功能对等(自定义ApiClient → hono/testing)
 
 ## 风险缓解
 
 - **主要风险**:测试数据库污染生产数据
 - **缓解措施**:使用独立的测试数据库,自动数据清理
+- **次要风险**:测试工具迁移导致现有测试中断
+- **缓解措施**:逐步迁移,保持新旧测试工具并行运行
 - **回滚计划**:删除测试数据库,恢复原有测试配置
 
 ## 完成定义

+ 15 - 13
docs/stories/004.001.story.md

@@ -4,7 +4,7 @@
 docs/prd/epic-004-api-actual-request-testing.md
 
 ## Status
-Ready for Review
+In Progress (需要迁移到hono/testing)
 
 ## Story
 **As a** 质量保证工程师
@@ -31,14 +31,14 @@ Ready for Review
   - [x] 优化测试环境启动流程
   - [x] 实现连接池管理和性能优化
   - [x] 建立测试服务器启动和关闭流程
-- [x] 创建核心测试工具和工具函数 (AC: #2, #4)
-  - [x] 实现认证用户创建工具
-  - [x] 开发API请求包装器
-  - [x] 创建测试断言工具函数
-- [x] 实现用户API的实际请求测试 (AC: #4)
-  - [x] 用户创建和读取测试
-  - [x] 用户更新和删除测试
-  - [x] 用户搜索和过滤测试
+- [ ] 迁移到hono/testing测试工具 (AC: #2, #4) [需要迁移]
+  - [ ] 替换自定义ApiClient为hono/testing的testClient()
+  - [ ] 更新集成测试工具函数使用testClient
+  - [ ] 确保类型安全的路由访问
+- [ ] 实现用户API的实际请求测试 (AC: #4) [需要迁移]
+  - [ ] 用户创建和读取测试(使用testClient)
+  - [ ] 用户更新和删除测试(使用testClient)
+  - [ ] 用户搜索和过滤测试(使用testClient)
 - [x] 集成到CI/CD流水线 (AC: #5)
   - [x] 配置GitHub Actions测试工作流
   - [x] 设置测试报告生成和上传
@@ -130,16 +130,18 @@ Ready for Review
 1. ✅ 配置了真实的PostgreSQL测试数据库环境
 2. ✅ 创建了测试数据工厂和清理工具
 3. ✅ 实现了测试专用的数据库连接管理
-4. 迁移到hono/testing的testClient(),提供更好的类型安全
-5. ✅ 实现了用户API所有端点的实际请求测试
+4. ⏳ 需要迁移到hono/testing的testClient(),提供更好的类型安全
+5. ⏳ 需要重新实现用户API所有端点的实际请求测试(使用testClient)
 6. ✅ 集成了GitHub Actions CI/CD流水线
 7. ✅ 支持测试报告生成和覆盖率统计
 8. ✅ 配置了测试失败通知机制
 
 ### File List
 - `src/server/__test_utils__/integration-test-db.ts` - 集成测试数据库工具
-- `src/server/__test_utils__/integration-test-utils.ts` - 集成测试工具函数
-- `src/server/api/users/__tests__/users.integration.test.ts` - 用户API集成测试
+- `src/server/__test_utils__/integration-test-utils.ts` - 集成测试工具函数 [需要迁移到hono/testing]
+- `src/server/__test_utils__/api-client.ts` - 需要重构或移除(被hono/testing替代)
+- `src/server/__test_utils__/test-server.ts` - 需要重构或移除(被hono/testing替代)
+- `src/server/api/users/__tests__/users.integration.test.ts` - 用户API集成测试 [需要迁移到hono/testing]
 - `.github/workflows/integration-tests.yml` - CI/CD集成测试工作流
 - `package.json` - 更新了测试脚本配置