用途 umbraco-skill-test-runner 用于运行技能示例中的全部测试,覆盖单元、模拟(mocked)与端到端(E2E)三种类型,并输出 JSON 报告。它是 validate-skills 命令的第三阶段,运行于链接校验(umbraco-skill-validator)与代码分析(umbraco-skill-code-analyzer)之后。
主要能力
- 运行单元测试:使用 @open-wc/testing 的组件测试,由 Web Test Runner 执行。
- 运行模拟测试:针对模拟后台的集成测试,由 Playwright 执行。
- 运行端到端测试:针对真实 Umbraco 实例的完整 E2E 测试,由 Playwright 执行。
- 自动启动 Umbraco:当需要 E2E 测试且 Umbraco 未运行时,脚本会从 ./Umbraco-CMS.Skills/ 使用 dotnet run 启动 Umbraco,等待实例就绪,运行 E2E 测试,并在完成后停止由脚本启动的 Umbraco。
- 生成报告:在项目根目录生成 test-report.json,包含时间戳、Umbraco 是否被启动、总计/通过/失败/跳过数量以及各示例结果(示例名、路径、类型、状态、耗时)。
使用方式 进入技能脚本目录并安装依赖、运行测试: cd .claude/skills/umbraco-skill-test-runner/scripts npm install --silent npx tsx run-tests.ts
环境变量
- UMBRACO_USER_LOGIN:默认为空,用于 E2E 认证的管理员邮箱。
- UMBRACO_USER_PASSWORD:默认为空,用于 E2E 认证的管理员密码。
- UMBRACO_URL:默认 https://localhost:44325,Umbraco 实例地址。
输出结构 test-report.json 的示例结构: { "timestamp": "2024-12-26T12:00:00Z", "umbracoStarted": true, "summary": { "total": 10, "passed": 8, "failed": 1, "skipped": 1 }, "results": [ { "example": "counter-dashboard", "path": "plugins/umbraco-testing-skills/.../counter-dashboard", "type": "unit", "status": "passed", "duration": 1234 } ] }
适用场景 适用于在 Umbraco CMS 后台技能开发流程中,需要统一执行技能示例的单元、模拟与 E2E 测试并获取结构化报告的场景,尤其适合作为技能校验流水线的测试环节。
限制 资料未提供关于收费、价格、平台支持范围、性能指标或更多配置选项的信息,暂未提供。