SuperAPI AI 工具集

integration-test-builder

测试与质量

查看项目

更新于 10-15 18:37

技能介绍

用途

Integration Test Builder 用于为 API 端点与数据库流程构建集成测试。它围绕测试夹具(test harness)的搭建、fixtures 管理、setup/teardown、数据库播种(seeding)以及适合 CI 的测试策略展开,帮助开发者编写覆盖真实数据库交互的集成测试。

主要能力

  • 测试夹具搭建:提供 TestHarness 类示例,包含 setup、teardown、clearDatabase、seedFixtures 等方法,用于初始化测试数据库、运行迁移、清空数据与播种测试数据。
  • API 集成测试:使用 supertest 对 API 端点进行请求与断言,覆盖 POST、GET、PUT、DELETE 等操作,并验证数据库中的实际状态。
  • 数据库事务测试:演示在事务中创建订单与订单项、验证库存扣减,以及订单创建失败时的事务回滚。
  • 认证测试:覆盖登录成功、密码错误、受保护路由在有效 token、无 token、无效 token 下的行为。
  • Fixtures 管理:以模块化方式定义用户与产品等 fixtures,并在测试中复用。
  • CI 友好策略:提供 GitHub Actions 工作流示例,使用 postgres 服务容器、运行迁移并执行集成测试。
  • 并行测试执行:提供 Vitest 配置示例,通过 forks 池与独立测试数据库实现并行执行。

使用方式

资料中给出的示例基于 TypeScript、Prisma、supertest 与 Vitest。典型流程为:创建 TestHarness 并在 beforeAll 中 setup、在 afterAll 中 teardown、在 beforeEach 中清空数据库并播种 fixtures;随后在测试中通过 supertest 发起请求、断言响应,并通过 Prisma 客户端验证数据库状态。CI 中通过 GitHub Actions 启动 postgres 服务、运行 prisma migrate deploy 并执行 npm run test:integration。并行执行时通过 VITEST_WORKER_ID 为每个测试文件分配独立数据库。

适用场景

适用于需要验证 API 端点与数据库交互的集成测试场景,包括用户 CRUD、订单事务与库存扣减、认证与受保护路由、错误用例覆盖,以及在 CI 中运行集成测试与并行测试。

限制

资料未提供该技能的具体安装命令、支持的框架范围、收费或价格信息、平台限制以及实际效果说明,这些内容暂未提供。示例代码基于 Prisma、supertest 与 Vitest,其他技术栈的适配方式暂未提供。