SuperAPI AI 工具集

testing

测试与质量

查看项目

更新于 10-15 20:27

技能介绍

用途:本页说明 Contentstack Management JavaScript SDK 的测试运行与扩展方式,覆盖 Mocha 单元测试、sanity API 测试和 Jest TypeScript 测试,以及环境变量与 mock 配置。

主要能力与命令:npm run lint 为预测试钩子;npm test 默认先跑 test:api 再跑 test:unit,需确认分支中存在 test:api,否则改用 test:unit;npm run test:unit 运行 Mocha test/unit/index.js 并带 nyc;npm run test:unit:report:json 输出单元测试 JSON 报告;npm run test:sanity-test 运行 sanity 并统计覆盖率;npm run test:sanity-nocov 运行 sanity 但不带 nyc;npm run test:typescript 运行 TypeScript/Jest。若 sanity 依赖构建产物 dist/node/contentstack-management.js 与 lib/ 一致,需先执行 npm run build。

单元测试:位于 test/unit/,使用 Mocha、Chai 与 @babel/register,每个脚本超时 30 秒;HTTP 通过 Nock、axios-mock-adapter 或 stub 模拟,不调用真实 CMA。测试套件由 test/unit/index.js 引入,新增 *-test.js 文件需在其中注册。

Sanity 测试:位于 test/sanity-check/,由 sanity.js 编排,调用真实 CMA。权威环境变量清单见 test/sanity-check/utility/testSetup.js 与 sanity.js。核心必填变量为 EMAIL、PASSWORD、HOST、ORGANIZATION,缺失则初始化失败。按套件可选变量:OAuth 用 CLIENT_ID、APP_ID、REDIRECT_URI;2FA 用 TFA_EMAIL、TFA_PASSWORD;MFA 用 MFA_SECRET;团队/分享用 MEMBER_EMAIL;DAM 2.0 用 DAM_2_0_ENABLED=true。另有可选 PERSONALIZE_HOST、DELETE_DYNAMIC_RESOURCES。HOST 应设为你的 CMA API 主机。运行时 setup 会赋值 API_KEY、AUTHTOKEN、MANAGEMENT_TOKEN 等,不应提交到仓库。

Jest:位于 test/typescript/,jest.config.js 使用 ts-jest,覆盖率输出到 coverage/。

限制与规范:CI 所需测试不得提交 only 或 skip;测试与快照中不得提交真实 token。