SuperAPI AI 工具集

tap-test

测试与质量

查看项目

更新于 10-15 17:23

技能介绍

用途:Tap Test 用于生成生产级 HTTP 层集成/E2E 测试,让测试像真实客户端一样“接入”API,而非直接调用函数。它强调真实 HTTP 请求、真实数据库、真实服务器与真实响应捕获,并在每个测试后清理数据。

主要能力:启动轻量 Fastify 测试服务器(默认端口 3999),提供 POST /api/send 模拟入站消息、GET /api/state/:id 读取用户/会话状态、GET /api/chat/:id 读取会话历史、DELETE /api/user/:id 重置用户;通过 EventEmitter 捕获出站响应;直接查询数据库验证事务与记录;使用前缀/标记模式隔离测试数据。

使用方式:先探索项目,定位消息处理函数、网关/提供者层、现有测试设置与数据库表;创建测试数据隔离与清理/种子函数;构建测试服务器并编写 HTTP 辅助函数(如 sendText、waitForResponses、getState);测试用例中先清空捕获、经 HTTP 发送、等待异步响应、验证响应内容、通过 HTTP 读取状态并直接查询数据库。建议在 vitest 中使用 singleFork: true 保证数据库一致性,并设置较宽松超时(每测试 10-30 秒)。

适用场景:需要验证完整用户旅程、错误处理、状态转换、数据库记录、多用户并发与聊天历史的 API 集成测试。

限制:核心逻辑不使用 mock,仅通过 provider 模式 mock 外部服务(如 WhatsApp API、LLM);测试数据需唯一前缀并在前后清理;异步处理需使用等待模式而非假设;具体项目结构、数据库客户端与配置需按实际项目调整,资料未提供通用安装命令或完整配置。