feat(backend): 实现Go后端API并添加测试脚本

This commit is contained in:
2025-12-23 23:28:09 +08:00
parent 044f355818
commit af8fdd5f52
17 changed files with 1241 additions and 7 deletions

View File

@@ -0,0 +1,10 @@
1. 创建go.mod文件引入gin框架和必要依赖
2. 创建main.go文件实现Gin服务器
3. 实现GET /api/apps接口返回App列表
4. 实现POST /api/apps接口支持文件上传
5. 实现GET /api/apps/:id接口支持文件下载
6. 添加CORS中间件支持跨域请求
7. 使用互斥锁保护共享资源,确保线程安全
8. 确保文件操作安全,将文件存储在./files目录
9. 配置服务器端口

View File

@@ -0,0 +1,34 @@
## 1. 测试执行计划
- **运行现有测试用例**先执行现有的main_test.go测试用例确保基础功能正常
- **生成假文件测试**:创建不同类型和大小的假文件,测试上传、下载和列表功能
- **观察目录变化**监控files目录和apps.json文件的变化确保文件操作正确
- **并发测试**:模拟多用户并发访问,测试系统稳定性
## 2. 代码改进计划
### 2.1 核心功能改进
- **解决文件命名冲突**:上传时生成唯一文件名,避免覆盖现有文件
- **增强并发安全性**优化mutex使用确保所有共享资源访问都被正确保护
- **改进错误处理**:提供更详细的错误信息,便于调试和用户理解
- **添加配置管理**:将硬编码的端口号、文件路径等提取为配置
- **增加日志记录**:添加详细的日志记录,便于监控和调试
### 2.2 测试用例优化
- **表驱动测试**:将重复的测试用例重构为表驱动测试,减少代码冗余
- **增强测试独立性**:确保每个测试用例之间相互独立,避免测试污染
- **增加边界条件测试**:测试极端情况,如超大文件、空文件等
## 3. 测试结果反哺计划
- **分析测试失败原因**:针对测试失败的用例,定位问题并修复
- **优化性能瓶颈**:根据测试结果,优化系统性能
- **完善错误处理**:根据测试中遇到的错误,完善错误处理机制
- **增强测试覆盖**:根据测试结果,补充缺失的测试用例
## 4. 实施步骤
1. 运行现有测试用例,记录结果
2. 生成假文件,进行功能测试
3. 观察目录变化,验证文件操作正确性
4. 执行并发测试,评估系统稳定性
5. 根据测试结果修改main.go代码
6. 优化测试用例,提高测试覆盖率
7. 再次运行测试,验证改进效果
8. 总结改进成果,形成最终代码

View File

@@ -0,0 +1,10 @@
1. 创建go.mod文件引入gin框架和必要依赖
2. 创建main.go文件实现Gin服务器
3. 实现GET /api/apps接口返回App列表
4. 实现POST /api/apps接口支持文件上传
5. 实现GET /api/apps/:id接口支持文件下载
6. 添加CORS中间件支持跨域请求
7. 使用互斥锁保护共享资源,确保线程安全
8. 确保文件操作安全,将文件存储在./files目录
9. 配置服务器端口