95 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			95 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # 测试处理器使用说明
 | |||
|  | 
 | |||
|  | 这个目录包含了用于测试的处理器,可以模拟各种API请求场景,帮助开发和测试人员验证系统功能。 | |||
|  | 
 | |||
|  | ## 处理器列表
 | |||
|  | 
 | |||
|  | ### 1. ProcessTestRequest - 基础测试处理器
 | |||
|  | - **功能**: 模拟正常的API请求处理 | |||
|  | - **用途**: 测试基本的请求处理流程、参数验证、响应生成等 | |||
|  | 
 | |||
|  | #### 请求参数
 | |||
|  | ```json | |||
|  | { | |||
|  |   "test_param": "测试参数值", | |||
|  |   "delay": 1000 | |||
|  | } | |||
|  | ``` | |||
|  | 
 | |||
|  | #### 响应示例
 | |||
|  | ```json | |||
|  | { | |||
|  |   "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`: 参数无效 | |||
|  | 
 | |||
|  | #### 请求示例
 | |||
|  | ```json | |||
|  | { | |||
|  |   "test_param": "system_error" | |||
|  | } | |||
|  | ``` | |||
|  | 
 | |||
|  | ### 3. ProcessTestTimeoutRequest - 超时测试处理器
 | |||
|  | - **功能**: 模拟长时间处理导致的超时 | |||
|  | - **用途**: 测试超时处理、上下文取消等 | |||
|  | 
 | |||
|  | ## 使用场景
 | |||
|  | 
 | |||
|  | ### 开发阶段
 | |||
|  | - 验证处理器框架是否正常工作 | |||
|  | - 测试参数验证逻辑 | |||
|  | - 验证错误处理机制 | |||
|  | 
 | |||
|  | ### 测试阶段
 | |||
|  | - 性能测试(通过delay参数) | |||
|  | - 超时测试 | |||
|  | - 错误场景测试 | |||
|  | - 集成测试 | |||
|  | 
 | |||
|  | ### 调试阶段
 | |||
|  | - 快速验证API调用流程 | |||
|  | - 测试中间件功能 | |||
|  | - 验证日志记录 | |||
|  | 
 | |||
|  | ## 注意事项
 | |||
|  | 
 | |||
|  | 1. **延迟参数**: `delay` 参数最大值为5000毫秒(5秒),避免测试时等待时间过长 | |||
|  | 2. **上下文处理**: 所有处理器都正确处理上下文取消,支持超时控制 | |||
|  | 3. **错误处理**: 遵循项目的错误处理规范,使用预定义的错误类型 | |||
|  | 4. **参数验证**: 使用标准的参数验证机制,确保测试的真实性 | |||
|  | 
 | |||
|  | ## 集成到路由
 | |||
|  | 
 | |||
|  | 要将测试处理器集成到API路由中,需要在相应的路由配置中添加: | |||
|  | 
 | |||
|  | ```go | |||
|  | // 在路由配置中添加测试端点 | |||
|  | 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. **压力测试**: 并发调用测试处理器的稳定性 |