SuperAPI AI 工具集

testing-orcaq

测试与质量

查看项目

更新于 10-16 03:42

技能介绍

用途:本技能是 OrcaQ 的测试指南,用于在运行、调试或编写 OrcaQ 测试时,依据决策规则直接选对命令,无需逐一核对。完整参考见 docs/TESTING_GUIDE.md。

主要能力:提供命令决策树、npm/bun 脚本对照表、Vitest 项目划分、Playwright 项目与 fixture 配置文件的对应关系、fixture 配置说明以及关键环境变量。

命令选择:纯逻辑、无数据库、无浏览器用 bun test:unit;Vue 组件测试(nuxt 环境)用 bun test:nuxt;API/服务集成测试若 fixture 已在运行用 bun test:api:raw,否则用 bun test:api(自动准备并清理);需要特定数据库的 Playwright E2E 用 bash scripts/test-services/run-tests.sh --fixtures=<profile> -- playwright test --project <db>,否则用 bun test:e2e。其他脚本包括 bun test:all、bun test:e2e:raw、bun test:coverage、bun test:watch、bun test:fixtures:up/down。

Vitest 项目:--project unit(test/unit)、--project nuxt(test/nuxt)、--project integration(test/api,需全部数据库 fixture)。单文件运行示例:bun vitest --run test/unit/core/helpers/myHelper.spec.ts。

fixture 配置:postgres(PostgreSQL 16)、mysql(MySQL 8.4)、mariadb(MariaDB 11.4)、sql(三者)、redis(Redis 7.4)、sqlite(仅文件准备、无 Docker)、all、none。手动控制用 start-fixtures.sh 与 stop-fixtures.sh 加 --profile。

环境变量均以 ORCAQ_ 为前缀,由 start-fixtures.sh 自动设置默认值,例如 ORCAQ_POSTGRES_PORT、ORCAQ_MYSQL_PORT、ORCAQ_MARIADB_PORT、ORCAQ_REDIS_PORT 及各数据库名,另有 ORCAQ_KEEP_FIXTURES=1 与 ORCAQ_FIXTURE_PROFILE。

限制与规则:不要在 fixture 已启动时运行 test:api 或 test:e2e,应使用 :raw 变体;测试单个数据库时不要启动全部 fixture;源码改动后先跑 bun test:unit;单数据库改动不要跑 bun test:all;调试不稳定测试时可用 ORCAQ_KEEP_FIXTURES=1 保留容器。Oracle 项目为手动方式,无 Docker compose 配置。