test_files_documentation.md
5.89 KB
AIfeng/2025-07-02 13:55:37
测试文件关联性与作用文档
概述
本文档记录了项目中所有测试文件的功能、关联性和作用,帮助开发者理解测试体系结构。
测试文件目录结构
test/
├── test_integrated_asr.py # ASR集成功能测试
├── test_doubao_integration.py # 豆包模型集成测试
├── test_fay_core.py # Fay Core模块测试
├── test_funasr_connection.py # FunASR服务连接测试
├── test_funasr_integration.py # FunASR集成测试
├── test_interact.py # 交互模块测试
├── test_scheduler.py # 调度器模块测试
├── test_startup.py # 启动流程测试
└── test_websocket_server.py # WebSocket服务器测试
测试文件详细说明
1. ASR相关测试
test_integrated_asr.py
- 作用: 测试集成到主服务的ASR功能
-
测试内容:
- WebSocket连接测试
- ASR识别开始/停止流程
- 音频数据发送
- 识别结果监听
- 关联模块: WebSocket服务、ASR服务
- 测试类型: 集成测试
test_funasr_connection.py
- 作用: 验证本地FunASR WebSocket服务连接
-
测试内容:
- 基本WebSocket连接
- 音频识别功能
- 实际音频文件测试
- 消息格式兼容性
- 关联模块: FunASR服务
- 测试类型: 连接测试
test_funasr_integration.py
- 作用: 测试新的FunASRClient与项目的集成效果
-
测试内容:
- FunASRClient创建
- 兼容性包装器
- 回调机制
- 消息队列
- 关联模块: funasr_asr.py, web/asr/funasr
- 测试类型: 集成测试
2. 核心模块测试
test_fay_core.py
- 作用: Fay Core模块功能测试
-
测试内容:
- 模块导入测试
- 自动播放控制功能
- FayCore实例功能
- 线程安全性测试
- 关联模块: core/fay_core.py
- 测试类型: 单元测试
test_interact.py
- 作用: 交互模块功能测试(简化版)
-
测试内容:
- 模块导入测试
- Interact类基础功能
- 项目集成测试
- 多交互创建测试
- 关联模块: core/interact.py
- 测试类型: 单元测试
test_scheduler.py
- 作用: 调度器模块测试
-
测试内容:
- MyThread基础功能
- 异常处理
- ThreadManager功能
- 项目集成测试
- 关联模块: scheduler/thread_manager.py
- 测试类型: 单元测试
3. 集成与服务测试
test_doubao_integration.py
- 作用: 豆包模型集成测试
-
测试内容:
- 配置文件测试
- 模块导入测试
- 豆包实例化测试
- 集成流程测试
- 关联模块: llm/Doubao.py, config/doubao_config.json
- 测试类型: 集成测试
test_startup.py
- 作用: 启动流程验证
-
测试内容:
- 目录创建测试
- 模块导入测试
- 配置加载测试
- 日志文件创建测试
- 关联模块: 全项目启动依赖
- 测试类型: 系统测试
test_websocket_server.py
- 作用: WebSocket通信测试服务器
-
测试内容:
- WebSocket连接处理
- 消息广播功能
- 会话管理
- HTTP接口模拟
- 关联模块: WebSocket服务
- 测试类型: 服务测试
测试关联性分析
按功能分类
语音识别测试链
test_funasr_connection.py → test_funasr_integration.py → test_integrated_asr.py
- 从基础连接 → 集成测试 → 完整功能测试
核心模块测试链
test_fay_core.py ← test_interact.py ← test_scheduler.py
- 核心功能 ← 交互处理 ← 任务调度
系统集成测试链
test_startup.py → test_doubao_integration.py → test_websocket_server.py
- 启动验证 → 模型集成 → 服务通信
依赖关系
高依赖测试
-
test_integrated_asr.py: 依赖WebSocket服务和ASR服务 -
test_funasr_integration.py: 依赖FunASR服务配置 -
test_doubao_integration.py: 依赖配置文件和API密钥
独立测试
-
test_fay_core.py: 可独立运行 -
test_interact.py: 可独立运行 -
test_scheduler.py: 可独立运行 -
test_startup.py: 基础环境测试
测试执行建议
测试执行顺序
-
基础模块测试
python test/test_startup.py python test/test_interact.py python test/test_scheduler.py -
服务连接测试
python test/test_funasr_connection.py python test/test_websocket_server.py -
集成功能测试
python test/test_funasr_integration.py python test/test_doubao_integration.py python test/test_integrated_asr.py
测试环境要求
必需服务
- FunASR WebSocket服务 (端口10197)
- WebSocket主服务 (端口8010)
配置文件
config/llm_config.jsonconfig/doubao_config.json
测试数据
- 音频文件:
yunxi.mp3,yunxia.mp3,yunyang.mp3
测试覆盖范围
功能覆盖
- ✅ ASR语音识别
- ✅ WebSocket通信
- ✅ 线程管理
- ✅ 配置加载
- ✅ 模型集成
- ✅ 交互处理
- ✅ 启动流程
测试类型覆盖
- ✅ 单元测试
- ✅ 集成测试
- ✅ 系统测试
- ✅ 连接测试
- ✅ 服务测试
维护建议
新增测试文件规范
- 文件命名:
test_<模块名>.py - 文件头部: 包含AIfeng时间标注
- 测试类命名:
Test<ModuleName> - 测试方法命名:
test_<功能描述>
测试更新策略
- 功能变更: 同步更新相关测试
- 新增模块: 创建对应测试文件
- 集成变更: 更新集成测试用例
- 配置变更: 更新配置相关测试
测试文档维护
- 新增测试文件时更新本文档
- 测试关联性变化时更新依赖关系
- 定期检查测试覆盖率
- 及时清理过时的测试用例
注意: 本文档应与测试文件保持同步更新,确保测试体系的可维护性和可理解性。