SuperAPI AI 工具集

managing-test-environments

测试与质量

查看项目

更新于 10-15 23:27

技能介绍

用途:为测试套件准备、配置和管理隔离的测试环境,确保测试可重复、可靠地执行。支持 Docker Compose 环境、Testcontainers、本地服务栈以及临时 CI 环境。

主要能力:读取项目现有配置(docker-compose.yml、.env.test、jest.config.*、pytest.ini)以了解环境现状;盘点测试所需外部依赖(数据库、消息队列、缓存、第三方 API 桩);创建或更新 docker-compose.test.yml,分配不冲突端口、配置健康检查、设置资源限制;编写幂等种子数据脚本,按单元、集成、E2E 分层准备数据,并提供不删 schema 的清理脚本;生成 .env.test 配置;编写编排完整生命周期的启动脚本(启动容器并等待健康检查、执行迁移与种子、导出环境变量、运行测试、拆除容器并清理卷);用小型冒烟测试验证环境。

使用方式:需先安装 Docker 与 Docker Compose(容器化环境),使用 Testcontainers 时需安装对应库,准备数据库客户端工具(psql、mysql、mongosh)用于种子数据操作,并通过 .env 文件或密钥管理器管理环境变量。示例包括 docker-compose.test.yml 中定义 postgres-test 与 redis-test 服务及健康检查,以及在 Jest 中用 @testcontainers/postgresql 启动容器并在 beforeAll/afterAll 中启停。

适用场景:需要隔离数据库、消息队列、缓存等依赖的集成测试与端到端测试,以及 CI 中的临时环境。

限制与错误处理:需保证磁盘与内存充足;端口冲突可用动态端口或备用端口解决;健康检查超时需增加间隔与重试;种子失败需先跑迁移并检查顺序与 schema 漂移;环境变量缺失需检查 dotenv 加载顺序;残留卷需在拆除时加 --volumes 或使用 tmpfs。具体收费、平台支持范围等资料暂未提供。