About umbraco-skill-test-runner
A runner for testing skill examples, intended for developers validating Umbraco skills. It runs unit, mocked integration, and end-to-end tests, then writes a JSON report to the project root.
Key features
- 01Run unit, mocked, and E2E tests
- 02Use Web Test Runner and Playwright
- 03Automatically start Umbraco when needed
- 04Generate a JSON test report
Use cases
- 01Validate component and integration tests in skill examples
- 02Run end-to-end tests against Umbraco
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ umbraco/ umbraco-cms-backoffice-skills --skill umbraco-skill-test-runnerAfter installing, type/umbraco-skill-test-runnerin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
scripts/package-lock.jsonpackage.jsonrun-tests.tsDetails
From the project READMESkill Test Runner
Runs all tests from skill examples (unit, mocked, E2E) and outputs a JSON report.
Usage
cd .claude/skills/umbraco-skill-test-runner/scripts
npm install --silent
npx tsx run-tests.ts
Test Types
| Type | Description | Runner |
|---|---|---|
| Unit | Component tests with @open-wc/testing | Web Test Runner |
| Mocked | Integration tests against mocked backoffice | Playwright |
| E2E | Full end-to-end against real Umbraco | Playwright |
Environment Variables
| Variable | Default | Description |
|---|---|---|
UMBRACO_USER_LOGIN | - | Admin email for E2E authentication |
UMBRACO_USER_PASSWORD | - | Admin password for E2E authentication |
UMBRACO_URL | https://localhost:44325 | Umbraco instance URL |
Auto-Start Umbraco
If E2E tests are needed and Umbraco is not running, the script will automatically:
- Start Umbraco from
./Umbraco-CMS.Skills/usingdotnet run - Wait for the instance to be ready
- Run E2E tests
- Stop Umbraco when done (if it was started by the script)
Output
Generates test-report.json in the project root with structure:
{
"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
}
]
}
Integration
This skill is Phase 3 of the validate-skills command, running after:
- Link validation (
umbraco-skill-validator) - Code analysis (
umbraco-skill-code-analyzer)
Comments
Markdown supported