# 测试指南

## 快速开始

### 1. 启动 Mock Server

确保你的 Mock Server 已经配置完成并启动在 `http://localhost:8000`。

```bash
# 进入 mock server 目录
cd lsfx-mock-server

# 启动服务（根据你的实现选择）
python app.py
# 或
node server.js
# 或其他启动命令
```

### 2. 验证 Mock Server

运行测试脚本验证 Mock Server 是否正常：

**Linux/Mac:**

```bash
bash doc/测试文档/test-mock-server.sh
```

**Windows:**
暂无 Windows 版本的 Mock Server 测试脚本，请使用 curl 手动测试。

### 3. 启动后端服务

```bash
# 方式1：使用 Maven
mvn spring-boot:run

# 方式2：使用 Windows 脚本
ry.bat

# 方式3：使用 Linux/Mac 脚本
./ry.sh start
```

### 4. 执行接口测试

**Windows:**

```bash
cd doc/测试文档
test-lsfx-api.bat
```

**Linux/Mac:**
参考 `流水分析接口测试脚本.md` 中的 curl 命令手动测试。

---

## 测试文件说明

### 📄 流水分析接口测试脚本.md

**用途**: 完整的接口测试文档

**内容**:

- 所有接口的详细说明
- 请求示例和预期响应
- 测试步骤和检查清单
- 常见问题解答

**适用人群**: 测试人员、开发人员

### 📄 test-lsfx-api.bat

**用途**: Windows 批处理测试脚本

**功能**:

- 自动测试所有接口
- 无需手动输入命令
- 快速验证接口功能

**使用方法**:

```bash
cd doc/测试文档
test-lsfx-api.bat
```

### 📄 test-mock-server.sh

**用途**: Mock Server 连接测试脚本

**功能**:

- 验证 Mock Server 是否正常运行
- 测试各个接口路径是否正确
- 快速定位连接问题

**使用方法**:

```bash
bash doc/测试文档/test-mock-server.sh
```

---

## 测试流程

### 标准测试流程

```mermaid
graph TD
    A[启动 Mock Server] --> B[验证 Mock Server]
    B --> C[启动后端服务]
    C --> D[获取访问令牌]
    D --> E[测试接口1: 获取Token]
    E --> F[测试接口2: 上传文件]
    F --> G[测试接口3: 拉取行内流水]
    G --> H[测试接口4: 检查解析状态]
    H --> I[测试接口5: 获取银行流水]
    I --> J[检查日志验证]
    J --> K[测试完成]
```

### 快速测试流程（仅验证功能）

1. 启动 Mock Server
2. 启动后端服务
3. 运行测试脚本：`test-lsfx-api.bat`
4. 检查所有接口返回正常

---

## 验证要点

### ✅ 功能验证

- [ ] 所有接口都能正常调用
- [ ] 返回数据格式正确
- [ ] 分页功能正常
- [ ] 错误处理正确

### ✅ 日志验证

检查后端日志文件（`logs/sys-info.log`），确认：

```
【流水分析】获取Token请求: projectNo=902000_202603021400, entityName=902000_202603021400
【流水分析】获取Token成功: projectId=123, 耗时=150ms
```

- 所有请求都通过 `postFormData` 方法发送
- Content-Type 为 `multipart/form-data`
- 响应时间正常

### ✅ 异常测试

测试异常场景：

- 缺少必填参数
- 参数格式错误
- Mock Server 未启动
- 网络超时

---

## 常见问题

### Q1: Mock Server 无法启动

**检查项**:

- 端口 8000 是否被占用
- 依赖包是否安装完整
- 配置文件是否正确

**解决方案**:

```bash
# 检查端口占用
netstat -ano | findstr :8000

# 安装依赖
pip install -r requirements.txt
```

### Q2: 接口返回 404

**可能原因**:

- 后端服务未启动
- 接口路径配置错误
- Mock Server 接口路径不匹配

**解决方案**:

1. 检查 `application-dev.yml` 中的 `lsfx.api.endpoints` 配置
2. 确认 Mock Server 的接口路径与配置一致
3. 查看后端日志确认请求是否到达

### Q3: 接口返回 500 错误

**可能原因**:

- 参数转换失败
- Mock Server 返回格式不正确
- 后端代码异常

**解决方案**:

1. 查看后端日志的异常堆栈
2. 检查请求参数是否完整
3. 验证 Mock Server 返回的 JSON 格式

### Q4: 中文参数乱码

**解决方案**:

- Windows: 确保 cmd 使用 UTF-8 编码（`chcp 65001`）
- Linux/Mac: 确保终端使用 UTF-8 编码

---

## 测试数据

### 测试账号

- **用户名**: admin
- **密码**: admin123

### 测试项目编号

- **projectNo**: 902000_202603021400
- **entityName**: 902000_202603021400
- **groupId**: 456
- **logId**: 789

### 测试文件

上传文件测试需要准备一个测试文件（如 `test-data.xlsx`），放在测试脚本同级目录。

---

## 测试报告模板

```markdown
# 测试报告

**测试日期**: YYYY-MM-DD
**测试人员**: 姓名
**测试环境**:
- Mock Server: http://localhost:8000
- 后端服务: http://localhost:8080

## 测试结果

| 接口 | 状态 | 耗时 | 备注 |
|------|------|------|------|
| 获取Token | ✅ 通过 | 150ms | - |
| 上传文件 | ✅ 通过 | 200ms | - |
| 拉取行内流水 | ✅ 通过 | 180ms | - |
| 检查解析状态 | ✅ 通过 | 100ms | - |
| 获取银行流水 | ✅ 通过 | 120ms | - |

## 问题记录

### 问题1: [问题描述]

**复现步骤**:
1. ...
2. ...

**预期结果**: ...

**实际结果**: ...

**解决方案**: ...

## 总结

本次测试共测试 5 个接口，全部通过。
```

---

## 联系方式

如有问题，请联系：

- 开发团队: [邮箱/工号]
- Mock Server 维护: [邮箱/工号]
