원클릭으로
umbraco-testing
Router skill for choosing the right testing approach for Umbraco backoffice extensions
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Router skill for choosing the right testing approach for Umbraco backoffice extensions
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Implement UFM (Umbraco Flavored Markdown) components in Umbraco backoffice using official docs
Add a new Umbraco extension project reference to the main Umbraco instance and solution
Understand and use localization in Umbraco backoffice (foundational concept)
Implement property editor UIs in Umbraco backoffice using official docs
Quick setup for Umbraco extension development - creates instance, extension, and registers it
Review checks reference for validating Umbraco backoffice extensions
| name | umbraco-testing |
| description | Router skill for choosing the right testing approach for Umbraco backoffice extensions |
| version | 1.0.0 |
| location | managed |
| allowed-tools | Read, Write, Edit, WebFetch |
Entry point for testing Umbraco backoffice extensions. Use this skill to determine which testing approach to use, then invoke the appropriate specialized skill.
| Level | Skill | Use When |
|---|---|---|
| 1 | umbraco-unit-testing | Testing contexts, elements, controllers in isolation |
| 2 | umbraco-msw-testing | Testing API error handling, loading states |
| 3 | umbraco-mocked-backoffice | Testing extension UI in full backoffice (no .NET) |
| 4 | umbraco-e2e-testing | Testing complete workflows against real Umbraco |
| Skill | Purpose |
|---|---|
umbraco-test-builders | JsonModels.Builders for test data |
umbraco-playwright-testhelpers | Full API reference for testhelpers |
umbraco-example-generator | Generate testable example extensions |
umbraco-unit-testing)Best for fast, isolated testing:
Speed: Milliseconds | Backend: None | Browser: Playwright launcher
umbraco-msw-testing)Best for testing API behavior without backend:
Speed: Fast | Backend: None (mocked) | Browser: Playwright
umbraco-mocked-backoffice)Best for testing extensions in realistic UI:
Speed: Fast | Backend: None (MSW) | Browser: Chromium
umbraco-e2e-testing)Best for full acceptance testing:
Speed: Slower | Backend: Running Umbraco | Browser: Chromium
umbraco-test-builders if neededA well-tested extension uses multiple testing levels. Here's the complete pyramid:
┌─────────────┐
│ E2E Tests │ ← Real backend, complete workflows
│ (7 tests) │
└─────────────┘
┌─────────────────────────┐
│ Mocked Backoffice │ ← No backend, realistic UI
│ MSW: 6 | Mock Repo: 6 │
└─────────────────────────┘
┌─────────────────────────────────────┐
│ Unit Tests │ ← Fast, isolated
│ (13 tests) │
└─────────────────────────────────────┘
| Level | Tests | Speed | Backend Required |
|---|---|---|---|
| Unit | 13 | ~1s | None |
| MSW Mocked | 6 | ~30s | None (MSW) |
| Mock Repository | 6 | ~37s | None |
| E2E | 7 | ~15s | Real Umbraco |
| Total | 32 |
The tree-example demonstrates all testing approaches in one project:
cd /path/to/tree-example/Client
# Unit tests (fast, no server)
npm test # 13 tests, ~1s
# MSW mocked tests (requires mocked backoffice)
npm run test:mocked:msw # 6 tests, ~30s
# Mock repository tests (requires mocked backoffice)
npm run test:mocked:repo # 6 tests, ~37s
# E2E tests (requires real Umbraco)
URL=https://localhost:44325 \
UMBRACO_USER_LOGIN=admin@example.com \
UMBRACO_USER_PASSWORD=yourpassword \
npm run test:e2e # 7 tests, ~15s
Location: umbraco-backoffice/examples/tree-example/Client/
The Umbraco-CMS repository contains extensive test examples:
| Type | Location |
|---|---|
| Unit tests | src/Umbraco.Web.UI.Client/examples/*/ |
| MSW handlers | src/Umbraco.Web.UI.Client/src/mocks/handlers/ |
| E2E tests | tests/Umbraco.Tests.AcceptanceTest/tests/ |
| Extensions | src/Umbraco.Web.UI.Client/examples/ (27 examples) |
| Complete pyramid | umbraco-backoffice/examples/tree-example/Client/ |