测试处理器使用说明
这个目录包含了用于测试的处理器,可以模拟各种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调用流程
- 测试中间件功能
- 验证日志记录
注意事项
- 延迟参数:
delay参数最大值为5000毫秒(5秒),避免测试时等待时间过长 - 上下文处理: 所有处理器都正确处理上下文取消,支持超时控制
- 错误处理: 遵循项目的错误处理规范,使用预定义的错误类型
- 参数验证: 使用标准的参数验证机制,确保测试的真实性
集成到路由
要将测试处理器集成到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))
测试建议
- 基础功能测试: 先使用
ProcessTestRequest验证基本流程 - 错误场景测试: 使用
ProcessTestErrorRequest测试各种错误情况 - 性能测试: 通过调整
delay参数测试不同响应时间 - 超时测试: 使用
ProcessTestTimeoutRequest验证超时处理 - 压力测试: 并发调用测试处理器的稳定性