umbraco-testing について
Umbraco backoffice 拡張機能をテストする開発者向けの振り分けスキルです。単体、API モック、backoffice モック、E2E の各方式を選ぶ手掛かりと、テストデータやヘルパーの関連スキルを示します。
主な機能
- 01テストレベルに応じた方式の案内
- 02単体テストと MSW テストの指針
- 03backoffice モックテストの指針
- 04E2E テストの指針
- 05テストデータとヘルパースキルへの案内
活用シーン
- 01拡張機能のロジックに合う方式の選択
- 02API エラーや読み込み状態のテスト
- 03.NET なしでの拡張 UI の確認
- 04Umbraco 上での一連のワークフロー検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ umbraco/ umbraco-cms-backoffice-skills --skill umbraco-testingインストール後、Claude Code で/umbraco-testingを入力して読み込まれたか確認します。
詳細
Umbraco Testing - Router
Umbraco バックオフィス拡張機能をテストするためのエントリポイントです。このスキルを使用して、どのテストアプローチを使うべきかを判断し、適切な専門スキルを呼び出してください。
クイックリファレンス
| レベル | スキル | 使用する場面 |
|---|---|---|
| 1 | umbraco-unit-testing | コンテキスト、要素、コントローラーを分離してテストする |
| 2 | umbraco-msw-testing | API のエラーハンドリング、読み込み状態をテストする |
| 3 | umbraco-mocked-backoffice | 完全なバックオフィスで拡張機能 UI をテストする(.NET 不要) |
| 4 | umbraco-e2e-testing | 実際の Umbraco に対して完全なワークフローをテストする |
サポートスキル
| スキル | 目的 |
|---|---|
umbraco-test-builders | テストデータ用の JsonModels.Builders |
umbraco-playwright-testhelpers | testhelpers の完全な API リファレンス |
umbraco-example-generator | テスト可能なサンプル拡張機能を生成する |
判断ガイド
ユニットテストを選ぶ(umbraco-unit-testing)
高速で分離されたテストに最適です:
- コンテキストのロジックと状態管理
- Lit 要素のレンダリングとシャドウ DOM
- Observable のサブスクリプションと状態変化
- コントローラーとユーティリティ関数
速度: ミリ秒 | バックエンド: なし | ブラウザ: Playwright ランチャー
MSW テストを選ぶ(umbraco-msw-testing)
バックエンドなしで API の動作をテストするのに最適です:
- API のエラーハンドリング(404、500、バリデーション)
- ローディングスピナーとスケルトン状態
- ネットワークのリトライ動作
- レスポンスのエッジケースとタイムアウト
速度: 高速 | バックエンド: なし(モック) | ブラウザ: Playwright
モックバックオフィスを選ぶ(umbraco-mocked-backoffice)
現実的な UI で拡張機能をテストするのに最適です:
- 拡張機能がバックオフィスに正しく表示される
- ワークスペースビュー、アクション、フッターアプリが動作する
- 拡張機能の登録とマニフェストの読み込み
- .NET のセットアップなしでの視覚的な統合
速度: 高速 | バックエンド: なし(MSW) | ブラウザ: Chromium
E2E テストを選ぶ(umbraco-e2e-testing)
完全な受け入れテストに最適です:
- 完全なユーザーワークフローのエンドツーエンド
- データの永続化と取得
- 認証と権限
- 実際の API レスポンスと動作
速度: 低速 | バックエンド: 実行中の Umbraco | ブラウザ: Chromium
ワークフロー
- テスト対象を特定する - コンテキストのロジック、要素のレンダリング、API の処理、または完全なワークフロー
- テストレベルを選ぶ - 上記の判断ガイドを使用してください
- スキルを呼び出す - 各テストスキルはセットアップ、パターン、サンプルを含めて自己完結しています
- テストデータを生成する - 必要に応じて
umbraco-test-buildersを使用してください
完全なテストピラミッド
十分にテストされた拡張機能は、複数のテストレベルを使用します。以下が完全なピラミッドです:
┌─────────────┐
│ 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) │
└─────────────────────────────────────┘
レベル別のテスト数
| レベル | テスト数 | 速度 | 必要なバックエンド |
|---|---|---|---|
| ユニット | 13 | 約 1 秒 | なし |
| MSW モック | 6 | 約 30 秒 | なし(MSW) |
| モックリポジトリ | 6 | 約 37 秒 | なし |
| E2E | 7 | 約 15 秒 | 実際の Umbraco |
| 合計 | 32 |
動作するサンプル: tree-example
tree-example は、1 つのプロジェクトですべてのテストアプローチを示しています:
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 \
[email protected] \
UMBRACO_USER_PASSWORD=yourpassword \
npm run test:e2e # 7 tests, ~15s
場所: umbraco-backoffice/examples/tree-example/Client/
リファレンスサンプル
Umbraco-CMS リポジトリには、豊富なテストサンプルが含まれています:
| 種類 | 場所 |
|---|---|
| ユニットテスト | src/Umbraco.Web.UI.Client/examples/*/ |
| MSW ハンドラー | 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/ |
コメント
Markdown 対応