004.001.story.md 3.6 KB

Story 004.001: 实际请求测试基础设施

Status

Draft

Story

As a 质量保证工程师 I want 建立实际HTTP请求测试的基础设施 so that 我可以在真实数据库环境下验证API端点的行为,确保系统功能的正确性

Acceptance Criteria

  1. 建立实际请求测试基础设施
  2. 用户API实际请求测试实现
  3. CI/CD流水线集成

Tasks / Subtasks

  • 配置实际请求测试环境 (AC: 1)
    • 设置测试数据库连接配置
    • 配置测试数据种子和清理机制
    • 建立测试服务器启动和关闭流程
  • 创建核心测试工具和工具函数 (AC: 1, 2)
    • 实现认证用户创建工具
    • 创建测试数据工厂函数
    • 开发API请求包装器
  • 实现用户API的实际请求测试 (AC: 2)
    • 用户创建和读取测试
    • 用户更新和删除测试
    • 用户搜索和过滤测试
  • 集成到CI/CD流水线 (AC: 3)
    • 配置GitHub Actions测试工作流
    • 设置测试报告生成和上传
    • 配置测试失败通知机制

Dev Notes

技术栈和测试框架 [Source: architecture/tech-stack.md#测试框架]

  • 测试框架: Vitest 2.x + Supertest 6.x
  • 测试位置: src/server/api/__integration_tests__/ 目录
  • 数据库: 使用真实PostgreSQL数据库连接进行测试
  • 覆盖率目标: 核心API端点测试覆盖率100%

项目结构指导 [Source: architecture/source-tree.md#API测试]

  • API测试文件应位于对应API端点的 __tests__ 文件夹中
  • 集成测试应使用 __integration_tests__ 目录结构
  • 测试工具函数位于 src/server/__test_utils__/

现有测试基础设施 [Source: 现有代码分析]

  • 已有测试工具: src/server/__test_utils__/api-client.ts
  • 已有测试工具: src/server/__test_utils__/test-db.ts
  • 已有集成测试示例: src/server/api/__integration_tests__/users.integration.test.ts
  • 需要增强为实际数据库连接而不是mock

测试标准要求 [Source: architecture/coding-standards.md#测试标准]

  • 测试文件命名: *.integration.test.ts
  • 测试组织: 使用describe/it块结构
  • 断言风格: Expect语法
  • 测试数据: 使用工厂函数创建测试数据

API端点信息 [Source: architecture/api-design-integration.md]

  • 认证: JWT Bearer Token认证机制
  • 版本控制: /api/v1/ 前缀
  • 用户管理端点:
    • GET /api/v1/users - 获取用户列表
    • POST /api/v1/users - 创建用户
    • GET /api/v1/users/:id - 获取用户详情
    • PUT /api/v1/users/:id - 更新用户
    • DELETE /api/v1/users/:id - 删除用户

安全考虑 [Source: architecture/security-integration.md]

  • 测试环境使用独立的测试数据库
  • 测试数据不包含真实用户信息
  • 测试完成后清理所有测试数据
  • 认证token在测试中安全处理

Testing

测试策略

  • 测试类型: 集成测试(实际HTTP请求 + 真实数据库)
  • 测试范围: 所有核心用户管理API端点
  • 测试数据: 使用工厂模式创建测试用户和数据
  • 清理机制: 每个测试用例后清理测试数据

测试验证点

  • HTTP状态码验证
  • 响应数据结构验证
  • 数据库状态验证
  • 错误处理验证
  • 性能基准验证(响应时间 < 200ms)

测试报告

  • Vitest测试报告生成
  • 覆盖率报告集成
  • CI/CD流水线测试结果展示

Change Log

Date Version Description Author
2025-09-17 1.0 初始故事创建 Bob (SM)

Dev Agent Record

Agent Model Used

Debug Log References

Completion Notes List

File List

QA Results