SuperAPI AI 工具集

umbraco-testing

测试与质量

查看项目

更新于 10-15 16:07

技能介绍

用途

Umbraco Testing 是测试 Umbraco 后台扩展时的入口型(Router)技能。按照资料描述,它的作用是:先确定应该采用哪一种测试方式,再调用对应的专门技能。它本身定位为路由与决策指南,而不是具体的测试实现技能。

主要能力

该技能提供以下内容:

  • 快速参考表:列出各测试层级所对应的技能及适用时机。
  • 决策指南:分别说明何时选择 Unit Testing、MSW Testing、Mocked Backoffice、E2E Testing。
  • 配套技能清单:包括 test builders(用于测试数据)、Playwright testhelpers(完整 API 参考)、example generator(生成可测试的示例扩展)。
  • 测试金字塔示意与各层测试数量、速度、是否需要后端等参考信息。
  • 一个可运行示例(tree-example)的命令,以及 Umbraco-CMS 仓库中的参考示例位置。

使用方式

资料给出的工作流为:

  1. 确定要测试的内容——context 逻辑、元素渲染、API 处理,还是完整工作流。
  2. 依据决策指南选择测试层级。
  3. 调用对应技能——各测试技能自带设置、模式与示例。
  4. 如需生成测试数据,使用 umbraco-test-builders。

四个层级的判断依据如下(据资料):

  • 单元测试(umbraco-unit-testing):适合快速、隔离的测试,例如 context 逻辑与状态管理、Lit 元素渲染与 shadow DOM、Observable 订阅与状态变化、控制器与工具函数。速度以毫秒计,无后端,浏览器使用 Playwright launcher。
  • MSW 测试(umbraco-msw-testing):适合在没有后端的情况下测试 API 行为,例如 API 错误处理(404、500、校验)、加载 spinner 与 skeleton 状态、网络重试行为、响应边界情况与超时。速度快,后端为 mock,浏览器为 Playwright。
  • 模拟后台(umbraco-mocked-backoffice):适合在接近真实的 UI 中测试扩展,例如扩展是否正确出现在后台、workspace 视图/操作/footer 应用是否工作、扩展注册与 manifest 加载、无需 .NET 环境下的可视化集成。速度快,后端为 MSW,浏览器为 Chromium。
  • E2E 测试(umbraco-e2e-testing):适合完整验收测试,例如端到端完整用户工作流、数据持久化与读取、认证与权限、真实 API 响应与行为。速度较慢,需要运行中的 Umbraco 后端,浏览器为 Chromium。

示例与参考

资料提供 tree-example 作为在单一项目中演示全部测试方式的示例,位置为 umbraco-backoffice/examples/tree-example/Client/,并给出命令:

cd /path/to/tree-example/Client

Unit tests(快速,无需服务器)

npm test # 13 tests, ~1s

MSW mocked tests(需要 mocked backoffice)

npm run test:mocked:msw # 6 tests, ~30s

Mock repository tests(需要 mocked backoffice)

npm run test:mocked:repo # 6 tests, ~37s

E2E tests(需要真实 Umbraco)

URL=https://localhost:44325
UMBRACO_USER_LOGIN=admin@example.com
UMBRACO_USER_PASSWORD=yourpassword
npm run test:e2e # 7 tests, ~15s

参考示例位置(据资料):单元测试位于 src/Umbraco.Web.UI.Client/examples/*/;MSW handlers 位于 src/Umbraco.Web.UI.Client/src/mocks/handlers/;E2E 测试位于 tests/Umbraco.Tests.AcceptanceTest/tests/;扩展示例位于 src/Umbraco.Web.UI.Client/examples/(27 个示例);完整金字塔位于 umbraco-backoffice/examples/tree-example/Client/。

适用场景

适用于为 Umbraco 后台扩展制定测试策略、选择测试层级,并据此进入对应专门测试技能的开发者。

限制

资料未提供该技能的具体收费、价格、平台支持范围、安装命令等细节,这些信息暂未提供。