Files
lingxi-web/docs/TESTING.md
T
wmq 06112602ec feat(gateway): include production Telegram user gateway
Version the NestJS TDLib gateway with Docker deployment, migrations, automated tests and platform integration documentation while excluding all account sessions, credentials, runtime databases and backups.
2026-08-01 18:38:20 +08:00

2.3 KiB

测试策略

测试层次

层次 命令 覆盖
类型检查 npm run typecheck 前端 TypeScript
生产构建 npm run build 类型、打包、资源引用
API 单元/业务 npm test --prefix server 业务函数、权限与数据逻辑
邮件协议 npm run test:email-protocol --prefix server IMAP/SMTP 协议
邮件 API E2E npm run test:email-api --prefix server 真实测试邮件服务链路
WhatsApp 网关 npm test --prefix whatsapp-gateway 路由、状态、消息与可靠性
Telegram 网关 npm run build --prefix telegram-gateway、npm test --prefix telegram-gateway NestJS 编译、业务服务、路由、迁移与网关逻辑
浏览器 E2E npm run test:e2e 桌面/移动端主要用户路径

提交前最低要求

  • 文档或纯样式:类型检查、构建、相关页面 E2E。
  • 前端业务:类型检查、构建、完整 Playwright。
  • API:语法检查、API 测试、相关 E2E。
  • 网关:网关测试、容器健康、真实测试账号冒烟。
  • 认证、租户、支付、备份:完整回归并人工复核安全边界。

真实链路验收

Mock 测试不能证明渠道真实可用。发布前使用无重要数据的测试账号逐项验证:

  1. Telegram 手机号、验证码、二步密码登录。
  2. WhatsApp QR/配对、断开、重连和多账号切换。
  3. 邮箱 IMAP 首次同步、SMTP 发信和附件。
  4. 双向文本、引用、图片、文档、语音、贴纸、相册。
  5. 已发送、送达、已读、编辑、撤回、输入状态。
  6. 历史分页、断网恢复、WebSocket 重连和增量补齐。
  7. 多语言翻译、意图开关、会话记忆压缩和 AI 失败降级。
  8. Webhook 失败重试、死信、人工重放和幂等。
  9. RBAC 越权请求、租户交叉资源 ID 和登录限流。

测试数据

  • 只使用专用测试租户和测试账号。
  • 不把手机号、验证码、会话凭据、邮件密码和生产消息写入测试代码或报告。
  • Playwright 失败产物可能包含页面数据;归档前脱敏,且不得提交 Git。

发布记录

每次版本标签应记录执行日期、提交 SHA、环境、测试命令、通过/跳过/失败数量和已知限制。跳过项必须说明原因,不能等同于通过。