跳转至

测试与验收

离线回归、真实模型与页面验收分开记录,不能互相替代。

层次 覆盖 是否调用真实服务
Python 单元与路由 配置、鉴权、存储、模型边界、备份 否,外部边界替身
无浏览器前端回归 实际控制器、事件、取消、晚到结果、资源清理 否,设备和网络替身
真实服务验收 模型返回、保存读回、真实音频 是
视觉/设备验收 桌面/手机布局、麦克风、试听和下载 是,按场景执行

本地回归

安装开发依赖,并确保 Node.js 可用;前端控制器测试需要 Node。

python -m pip install -e ".[web,dev,docs]"
python -m pytest tests -q
chatvoice --tree
mkdocs build --strict
python -m build
python -m twine check dist/*

测试环境隔离账号和数据库。不要把生产 HOME、数据库路径或真实凭据注入离线测试。新增业务流程应先写失败用例,再实现;替身只放在设备/模型/网络边界,不能另写一套测试业务逻辑。

回归重点

  • 账号所有权、CSRF、Token scope 和旧记录兼容。
  • 录音开始/暂停/恢复/结束及重置时的资源关闭。
  • 摘要、纪要修改、Todo 的原文保留、保存、撤销和晚到结果隔离。
  • TTS 协议/格式/音色参数,以及复刻任务的上传、状态、下载和清理。
  • 流式接口必须出现真实完成标记;未结束的 Promise 不算测试通过。

真实服务

源码包含独立验收入口,先读取当前参数:

python scripts/verify_service.py --help

使用一次性账号、授权或合成参考音频和短测试文字。结果区分通过、失败、受阻与未运行;每个样例记录真实响应、可见结果与清理。不要为了通过测试临时改计费策略或使用无关模型。

上线后检查版本与新进程、数据库、ASR 预热、文本与音频返回;通过实际公网入口验证,不以本地端口替代。声音复刻需真实任务和可解码音频,健康状态只能证明可达。

部署 · 故障排查