SuperAPI AI 工具集

testing

测试与质量

查看项目

更新于 10-15 20:09

技能介绍

用途:帮助在 DBHub 项目中运行、编写和排查测试,包括单元测试、基于 Testcontainers 的集成测试以及各数据库专用测试。

主要能力:提供统一测试命令,如 pnpm test(全部)、pnpm test:unit(仅单元,无需 Docker)、pnpm test:watch(监听模式)、pnpm test:integration(仅集成,需 Docker);支持运行指定文件(如 pnpm test src/connectors/tests/postgres.integration.test.ts)和按名称匹配(pnpm test -- --testNamePattern="PostgreSQL")。测试架构基于 Vitest,在 vitest.config.ts 中分为 unit 与 integration 两个项目,文件名含 integration 的才归入集成测试。

使用方式:单元测试位于 src/utils、src/tools、src/config、src/connectors、src/requests 等 tests 目录;集成测试覆盖 PostgreSQL、MySQL、MariaDB、SQL Server、Oracle、SQLite、SSH、多 SQLite 源、JSON-RPC、API 与 SSH 配置等。数据库连接器集成测试继承 IntegrationTestBase,需实现 createContainer、createConnector、setupTestData 三个方法,并复用共享测试套件。测试夹具位于 src/fixtures/,提供 helpers 与多 SQLite、只读/最大行数等 TOML 配置。单元测试使用 vitest 的 vi.mock 进行模拟。

适用场景与限制:集成测试需 Docker 运行、足够内存(SQL Server 建议 4GB+)并能拉取镜像;SQL Server 启动慢(3-5 分钟),Oracle 镜像约 1.2GB、启动 1-2 分钟。CI 在 PR 事件中并行运行单元与集成任务。新增单元测试放入对应 tests 并以 .test.ts 结尾,集成测试需在文件名含 integration。资料未提供其他收费、平台或效果信息。