ai-business-write/技术文档/测试流程说明.md

5.5 KiB
Raw Permalink Blame History

测试流程说明

测试前准备

1. 检查并安装依赖

# 检查依赖
python check_dependencies.py

# 如果缺少依赖,安装它们
pip install -r requirements.txt

2. 配置环境变量

创建 .env 文件(如果不存在):

# AI服务配置必需
SILICONFLOW_API_KEY=your_api_key_here
SILICONFLOW_MODEL=deepseek-ai/DeepSeek-V3.2-Exp

# 数据库配置(已有默认值)
DB_HOST=152.136.177.240
DB_PORT=5012
DB_USER=finyx
DB_PASSWORD=6QsGK6MpePZDE57Z
DB_NAME=finyx

# MinIO配置文档生成需要
MINIO_ENDPOINT=minio.datacubeworld.com:9000
MINIO_ACCESS_KEY=JOLXFXny3avFSzB0uRA5
MINIO_SECRET_KEY=G1BR8jStNfovkfH5ou39EmPl34E4l7dGrnd3Cz0I
MINIO_BUCKET=finyx
MINIO_SECURE=true

# 服务配置
PORT=7500
DEBUG=False

3. 初始化数据库(如果还未初始化)

# 初始化所有字段和配置
python init_all_fields_from_excel.py

# 更新现有配置的template_code字段
python update_template_code_field.py

测试步骤

步骤 1检查模块导入

python test_service.py

预期结果:

  • ✓ 所有模块导入成功
  • ✓ 字段服务初始化成功
  • ✓ AI服务初始化成功

步骤 2启动服务

python app.py

预期输出:

服务启动在 http://localhost:7500
测试页面: http://localhost:7500/
Swagger API文档: http://localhost:7500/api-docs

步骤 3运行完整测试

在新的终端窗口中运行:

python test_complete.py

这个脚本会测试:

  1. ✓ 服务连接
  2. ✓ 解析接口
  3. ✓ 文档生成接口(可选)
  4. ✓ API文档页面

手动测试

测试 1解析接口

使用curl

curl -X POST http://localhost:7500/ai/extract ^
  -H "Content-Type: application/json" ^
  -d "{\"inputData\":[{\"fieldCode\":\"clue_info\",\"fieldValue\":\"被举报用户名称是张三年龄30岁某公司总经理男性1980年5月出生中共党员\"}],\"outputData\":[{\"fieldCode\":\"target_name\"},{\"fieldCode\":\"target_gender\"}]}"

使用Python

import requests
import json

url = "http://localhost:7500/ai/extract"
data = {
    "inputData": [
        {
            "fieldCode": "clue_info",
            "fieldValue": "被举报用户名称是张三年龄30岁某公司总经理男性1980年5月出生中共党员"
        }
    ],
    "outputData": [
        {"fieldCode": "target_name"},
        {"fieldCode": "target_gender"},
        {"fieldCode": "target_organization_and_position"}
    ]
}

response = requests.post(url, json=data)
print(json.dumps(response.json(), ensure_ascii=False, indent=2))

预期响应

{
  "code": 0,
  "data": {
    "outData": [
      {
        "fieldCode": "target_name",
        "fieldValue": "张三"
      },
      {
        "fieldCode": "target_gender",
        "fieldValue": "男"
      },
      {
        "fieldCode": "target_organization_and_position",
        "fieldValue": "某公司总经理"
      }
    ]
  },
  "msg": "ok",
  "isSuccess": true
}

测试 2文档生成接口

注意: 此接口需要MinIO配置和模板文件。

curl -X POST http://localhost:7500/ai/generate-document ^
  -H "Content-Type: application/json" ^
  -d "{\"inputData\":[{\"fieldCode\":\"target_name\",\"fieldValue\":\"张三\"},{\"fieldCode\":\"target_gender\",\"fieldValue\":\"男\"}],\"fpolicFieldParamFileList\":[{\"fileId\":1,\"fileName\":\"测试文档.doc\",\"templateCode\":\"PRELIMINARY_VERIFICATION_APPROVAL\"}]}"

测试 3访问Web界面

  1. 打开浏览器
  2. 访问:http://localhost:7500/
  3. 在测试页面中测试解析功能

测试 4查看API文档

  1. 打开浏览器
  2. 访问:http://localhost:7500/api-docs
  3. 查看接口文档和测试接口

常见问题排查

问题 1模块导入失败

错误: ModuleNotFoundError: No module named 'xxx'

解决:

pip install -r requirements.txt

问题 2数据库连接失败

错误: 数据库连接错误

解决:

  1. 检查数据库配置是否正确
  2. 检查网络连接
  3. 验证数据库服务是否运行

问题 3AI解析失败

错误: 未配置AI服务 或 API调用失败

解决:

  1. 检查 .env 文件中的 SILICONFLOW_API_KEY 是否设置
  2. 验证API密钥是否有效
  3. 检查网络连接

问题 4字段查询失败

错误: 未找到字段编码对应的字段配置

解决:

  1. 运行 python init_all_fields_from_excel.py 初始化字段
  2. 检查字段编码是否正确
  3. 验证数据库中的字段数据

问题 5文档生成失败

错误: 模板不存在或MinIO连接失败

解决:

  1. 检查MinIO配置是否正确
  2. 检查模板文件是否存在于MinIO
  3. 验证 template_code 是否正确
  4. 检查数据库中的文件配置

测试检查清单

基础功能

  • 服务可以正常启动
  • 所有模块可以正常导入
  • 数据库连接正常
  • AI服务配置正确

接口功能

  • 解析接口可以正常调用
  • 解析接口可以正确提取字段
  • 文档生成接口可以正常调用如果配置了MinIO
  • 返回格式符合接口文档

数据验证

  • 字段数据已初始化
  • 文件配置使用template_code字段
  • 字段查询正常工作

下一步

测试通过后,可以:

  1. 部署到测试环境
  2. 进行性能测试
  3. 完善错误处理
  4. 添加更多测试用例