Files
tyapi-server/internal/domains/api/services/processors/test
2025-09-01 18:29:59 +08:00
..
2025-09-01 18:29:59 +08:00
2025-09-01 18:29:59 +08:00

测试处理器使用说明

这个目录包含了用于测试的处理器可以模拟各种API请求场景帮助开发和测试人员验证系统功能。

处理器列表

1. ProcessTestRequest - 基础测试处理器

  • 功能: 模拟正常的API请求处理
  • 用途: 测试基本的请求处理流程、参数验证、响应生成等

请求参数

{
  "test_param": "测试参数值",
  "delay": 1000
}

响应示例

{
  "message": "测试请求处理成功",
  "timestamp": "2024-01-01T12:00:00Z",
  "request_id": "test_20240101120000_000000000",
  "test_param": "测试参数值",
  "process_time_ms": 1005,
  "status": "success"
}

2. ProcessTestErrorRequest - 错误测试处理器

  • 功能: 模拟各种错误情况
  • 用途: 测试错误处理机制、异常响应等

支持的错误类型

  • system_error: 系统错误
  • datasource_error: 数据源错误
  • not_found: 资源未找到
  • invalid_param: 参数无效

请求示例

{
  "test_param": "system_error"
}

3. ProcessTestTimeoutRequest - 超时测试处理器

  • 功能: 模拟长时间处理导致的超时
  • 用途: 测试超时处理、上下文取消等

使用场景

开发阶段

  • 验证处理器框架是否正常工作
  • 测试参数验证逻辑
  • 验证错误处理机制

测试阶段

  • 性能测试通过delay参数
  • 超时测试
  • 错误场景测试
  • 集成测试

调试阶段

  • 快速验证API调用流程
  • 测试中间件功能
  • 验证日志记录

注意事项

  1. 延迟参数: delay 参数最大值为5000毫秒5秒避免测试时等待时间过长
  2. 上下文处理: 所有处理器都正确处理上下文取消,支持超时控制
  3. 错误处理: 遵循项目的错误处理规范,使用预定义的错误类型
  4. 参数验证: 使用标准的参数验证机制,确保测试的真实性

集成到路由

要将测试处理器集成到API路由中需要在相应的路由配置中添加

// 在路由配置中添加测试端点
router.POST("/api/test/basic", handlers.WrapProcessor(processors.ProcessTestRequest))
router.POST("/api/test/error", handlers.WrapProcessor(processors.ProcessTestErrorRequest))
router.POST("/api/test/timeout", handlers.WrapProcessor(processors.ProcessTestTimeoutRequest))

测试建议

  1. 基础功能测试: 先使用 ProcessTestRequest 验证基本流程
  2. 错误场景测试: 使用 ProcessTestErrorRequest 测试各种错误情况
  3. 性能测试: 通过调整 delay 参数测试不同响应时间
  4. 超时测试: 使用 ProcessTestTimeoutRequest 验证超时处理
  5. 压力测试: 并发调用测试处理器的稳定性