# 项目创建功能测试说明 ## 概述 本文档说明如何使用测试脚本测试"创建项目时集成流水分析平台"功能。 ## 测试场景 ### 1. 创建项目成功 - **目标**: 验证创建项目时成功调用流水分析平台并保存 `lsfxProjectId` - **步骤**: 1. 准备项目数据(项目名称、描述、配置方式) 2. 调用创建项目接口 3. 验证响应中包含 `lsfxProjectId` 4. 验证数据库中 `lsfx_project_id` 字段已保存 ### 2. 创建项目失败(项目名称为空) - **目标**: 验证参数校验功能 - **预期**: 接口应拒绝空项目名称,返回错误信息 ### 3. 查询项目列表 - **目标**: 验证项目列表中正确显示 `lsfxProjectId` - **步骤**: 1. 调用项目列表查询接口 2. 验证返回数据包含 `lsfxProjectId` 字段 ### 4. 流水分析平台不可用(可选) - **目标**: 验证异常处理和事务回滚 - **步骤**: 1. 停止 Mock Server 2. 尝试创建项目 3. 验证返回错误信息 4. 验证数据库无脏数据(事务已回滚) ## 前置条件 ### 必须条件 1. **后端服务已启动** ```bash cd ruoyi-admin mvn spring-boot:run ``` 访问地址: http://localhost:8080 2. **Mock Server 已启动**(测试场景1-3) ```bash cd lsfx-mock-server python app.py ``` 访问地址: http://localhost:8000 3. **数据库连接正常** - 主机: 116.62.17.81 - 数据库: ccdi - 用户: root ### 可选条件 - **MySQL客户端**: 用于验证数据库(bash脚本需要) - **PowerShell 5.1+**: 用于运行 PowerShell 脚本 - **Git Bash**: 用于运行 bash 脚本(Windows 环境) ## 测试脚本 提供了三个版本的测试脚本: ### 1. Bash 脚本(推荐) **适用环境**: Linux、MacOS、Git Bash (Windows) **执行方式**: ```bash # 进入测试脚本目录 cd docs/test-scripts # 赋予执行权限 chmod +x test-project-creation.sh # 执行测试 ./test-project-creation.sh ``` **优点**: - 功能最完整 - 支持数据库验证 - 彩色输出 ### 2. PowerShell 脚本 **适用环境**: Windows (PowerShell 5.1+) **执行方式**: ```powershell # 进入测试脚本目录 cd docs\test-scripts # 执行测试 .\test-project-creation.ps1 ``` **优点**: - Windows 原生支持 - 交互式提示 - 无需额外工具 ### 3. 批处理脚本 **适用环境**: Windows (CMD) **执行方式**: ```cmd cd docs\test-scripts test-project-creation.bat ``` **优点**: - 简单易用 - 无需额外工具 ## 预期结果 ### 成功指标 1. **创建项目成功** - 响应 `code: 200` - 响应包含 `lsfxProjectId` 字段(如:77) - 数据库 `ccdi_project` 表中 `lsfx_project_id` 不为空 2. **参数校验** - 空项目名称被拒绝 - 返回错误信息 3. **查询列表** - 响应 `code: 200` - 列表数据包含 `lsfxProjectId` 字段 4. **异常处理**(可选) - Mock Server 不可用时返回错误 - 数据库无脏数据(事务回滚) ### 测试输出示例 ``` ========================================== 开始执行项目创建功能测试 ========================================== [INFO] 检查后端服务状态... [INFO] ✓ 后端服务运行正常 [INFO] 获取访问令牌... [INFO] ✓ 成功获取令牌 ========================================== 测试场景1:创建项目成功 ========================================== [INFO] 请求数据: {"projectName":"集成测试项目_20260304_105500","description":"测试集成流水分析平台","configType":"default"} [INFO] 响应内容: {"code":200,"msg":"项目创建成功","data":{...}} [INFO] ✓ 项目创建成功 [INFO] ✓ 流水分析平台项目ID: 77 [INFO] 验证数据库... [INFO] ✓ 数据库验证通过:lsfx_project_id 已正确保存 ... ========================================== 测试结果汇总 ========================================== [INFO] 通过: 3 [ERROR] 失败: 0 [INFO] 总计: 3 [INFO] ✓ 所有测试通过! ``` ## 手动测试(Swagger UI) 如果需要手动测试,可以使用 Swagger UI: 1. **访问 Swagger UI** ``` http://localhost:8080/swagger-ui/index.html ``` 2. **获取 Token** - 找到 `/login/test` 接口 - 点击 "Try it out" - 输入 username: `admin`, password: `admin123` - 点击 "Execute" - 复制返回的 token 3. **设置认证** - 点击页面顶部 "Authorize" 按钮 - 输入 `Bearer ` - 点击 "Authorize" 4. **创建项目** - 找到 `POST /ccdi/project` 接口 - 点击 "Try it out" - 输入请求体: ```json { "projectName": "手动测试项目", "description": "通过Swagger测试", "configType": "default" } ``` - 点击 "Execute" - 查看响应,验证 `lsfxProjectId` 存在 5. **查询项目** - 找到 `GET /ccdi/project/list` 接口 - 点击 "Try it out" - 点击 "Execute" - 验证返回数据包含 `lsfxProjectId` ## 故障排查 ### 问题1: 后端服务连接失败 **原因**: 后端未启动或端口被占用 **解决**: - 检查端口 8080 是否被占用 - 重启后端服务 ### 问题2: Mock Server 连接失败 **原因**: Mock Server 未启动 **解决**: ```bash cd lsfx-mock-server python app.py ``` ### 问题3: 获取 Token 失败 **原因**: 用户名或密码错误 **解决**: - 确认使用 admin/admin123 - 检查后端日志 ### 问题4: lsfxProjectId 为空 **原因**: 流水分析平台调用失败 **解决**: - 检查 Mock Server 是否运行 - 查看后端日志中的错误信息 - 确认 `LsfxAnalysisClient` 配置正确 ### 问题5: 数据库验证失败 **原因**: 数据库连接问题或字段未保存 **解决**: - 检查数据库连接配置 - 确认 `lsfx_project_id` 字段已添加到表 - 查看后端日志 ## 注意事项 1. **测试顺序**: 按照场景1→2→3→4的顺序执行 2. **数据清理**: 测试会创建临时项目数据,建议定期清理 3. **Mock Server**: 场景4需要停止 Mock Server,其他场景需要运行 4. **事务回滚**: 异常场景验证事务是否正确回滚 5. **权限**: 测试账号需要有项目创建权限 ## 相关文档 - [设计文档](../design/2026-03-04-create-project-integrate-lsfx-design.md) - [实施计划](../plans/2026-03-04-create-project-integrate-lsfx.md) - [流水分析对接文档](../../assets/对接流水分析/兰溪-流水分析对接-新版.md)