jpskill.com
🛠️ 開発・MCP コミュニティ

tunit

Playwrightを使ってTUnitテストを実行し、ユーザーがテストの実行や結果の確認を求めている場合に、テストを自動で実行して結果を報告するSkill。

📜 元の英語説明(参考)

Run TUnit tests with Playwright. Use when user asks to run tests, execute tests, or check if tests pass.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Playwrightを使ってTUnitテストを実行し、ユーザーがテストの実行や結果の確認を求めている場合に、テストを自動で実行して結果を報告するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o tunit.zip https://jpskill.com/download/17180.zip && unzip -o tunit.zip && rm tunit.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17180.zip -OutFile "$d\tunit.zip"; Expand-Archive "$d\tunit.zip" -DestinationPath $d -Force; ri "$d\tunit.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して tunit.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → tunit フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

TUnitテストの実行

このプロジェクトでは、テストにPlaywrightとTUnitを使用しています。テストはtests/SummitUI.Tests.Playwright/にあります。

すべてのテストを実行する

dotnet run --project tests/SummitUI.Tests.Playwright

並列処理を制限してテストを実行する (推奨)

Playwrightテストの実行時にシステムが過負荷になるのを防ぐため、並列テストの実行を制限します。

# 最大1つの並列テストで実行する (シーケンシャル)
dotnet run --project tests/SummitUI.Tests.Playwright -- --maximum-parallel-tests 1

# 最大2つの並列テストで実行する
dotnet run --project tests/SummitUI.Tests.Playwright -- --maximum-parallel-tests 2

フィルタを使用してテストを実行する

TUnitは、パスパターン/assembly/namespace/class/test--treenode-filterを使用します。

クラス名でフィルタリング:

dotnet run --project SummitUI.Tests.Playwright -- --treenode-filter '/*/*/ClassName/*'

正確なテスト名でフィルタリング:

dotnet run --project SummitUI.Tests.Playwright -- --treenode-filter '/*/*/*/TestName'

例:

# すべてのSelectアクセシビリティテストを実行する
dotnet run --project tests/SummitUI.Tests.Playwright -- --treenode-filter '/*/*/SelectAccessibilityTests/*'

# 名前で特定のテストを実行する
dotnet run --project tests/SummitUI.Tests.Playwright -- --treenode-filter '/*/*/*/Trigger_ShouldHave_RoleCombobox'

# パターンに一致するテストを実行する (テスト名にワイルドカード)
dotnet run --project tests/SummitUI.Tests.Playwright -- --treenode-filter '/*/*/*/Keyboard*'

# 名前空間内のすべてのテストを実行する
dotnet run --project tests/SummitUI.Tests.Playwright -- --treenode-filter '/*/SummitUI.Tests.Playwright/*/*'

デバッグモードでテストを実行する

デバッガーがアタッチされている場合、PlaywrightはHooks.csのセットアップを介して自動的にデバッグモード(PWDEBUG=1)で実行されます。

テスト出力を表示する

さまざまな出力形式に対して--reportフラグを追加します。

# 詳細なコンソール出力
dotnet run --project tests/SummitUI.Tests.Playwright -- --output-format console-detailed

# TRXレポートを生成する
dotnet run --project tests/SummitUI.Tests.Playwright -- --report-trx

不安定さの軽減

テストプロジェクトには、不安定さを軽減するためのいくつかの機能が含まれています。

  1. 自動再試行: テストは失敗時に最大2回自動的に再試行されます ([Retry(2)] in GlobalSetup.cs)
  2. 完全にシーケンシャルな実行: すべてのテストはGlobalSetup.cs[assembly: NotInParallel]を介してシーケンシャルに実行されます
  3. サーバー準備完了チェック: Hooks.csは、テスト開始前にBlazorサーバーが完全に準備完了になるのを待ちます
  4. 拡張されたタイムアウト: より長いテストおよびフックのタイムアウトのためにtunit.jsonを介して構成されます

プロジェクト構造

  • GlobalSetup.cs - アセンブリレベルのテスト構成 (再試行、並列処理)
  • Hooks.cs - テストセッションのセットアップ/破棄 (Blazorサーバーを起動)
  • BlazorWebApplicationFactory.cs - テストサーバーをホストするためのWebApplicationFactory
  • tunit.json - TUnit構成ファイル
  • *AccessibilityTests.cs - PageTestから継承するアクセシビリティテストクラス

テストの規約

  • テストはTUnit.Playwright.PageTestから継承してPageアクセスを取得します
  • テストごとのセットアップには[Before(Test)]を使用します
  • セッション全体のセットアップには[Before(TestSession)] / [After(TestSession)]を使用します
  • 実行中のサーバーにはHooks.ServerUrlを介してアクセスします
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Running TUnit Tests

This project uses TUnit with Playwright for testing. Tests are located in tests/SummitUI.Tests.Playwright/.

Run All Tests

dotnet run --project tests/SummitUI.Tests.Playwright

Run Tests with Limited Parallelism (Recommended)

To prevent system overload when running Playwright tests, limit parallel test execution:

# Run with maximum 1 parallel test (sequential)
dotnet run --project tests/SummitUI.Tests.Playwright -- --maximum-parallel-tests 1

# Run with maximum 2 parallel tests
dotnet run --project tests/SummitUI.Tests.Playwright -- --maximum-parallel-tests 2

Run Tests with Filters

TUnit uses --treenode-filter with path pattern: /assembly/namespace/class/test

Filter by class name:

dotnet run --project SummitUI.Tests.Playwright -- --treenode-filter '/*/*/ClassName/*'

Filter by exact test name:

dotnet run --project SummitUI.Tests.Playwright -- --treenode-filter '/*/*/*/TestName'

Examples:

# Run all Select accessibility tests
dotnet run --project tests/SummitUI.Tests.Playwright -- --treenode-filter '/*/*/SelectAccessibilityTests/*'

# Run specific test by name
dotnet run --project tests/SummitUI.Tests.Playwright -- --treenode-filter '/*/*/*/Trigger_ShouldHave_RoleCombobox'

# Run tests matching pattern (wildcard in test name)
dotnet run --project tests/SummitUI.Tests.Playwright -- --treenode-filter '/*/*/*/Keyboard*'

# Run all tests in namespace
dotnet run --project tests/SummitUI.Tests.Playwright -- --treenode-filter '/*/SummitUI.Tests.Playwright/*/*'

Run Tests in Debug Mode

When a debugger is attached, Playwright will run in debug mode (PWDEBUG=1) automatically via the Hooks.cs setup.

View Test Output

Add --report flags for different output formats:

# Console output with details
dotnet run --project tests/SummitUI.Tests.Playwright -- --output-format console-detailed

# Generate TRX report
dotnet run --project tests/SummitUI.Tests.Playwright -- --report-trx

Flakiness Mitigation

The test project includes several features to reduce flakiness:

  1. Automatic Retries: Tests are automatically retried up to 2 times on failure ([Retry(2)] in GlobalSetup.cs)
  2. Fully Sequential Execution: All tests run sequentially via [assembly: NotInParallel] in GlobalSetup.cs
  3. Server Readiness Check: Hooks.cs waits for the Blazor server to be fully ready before tests start
  4. Extended Timeouts: Configured via tunit.json for longer test and hook timeouts

Project Structure

  • GlobalSetup.cs - Assembly-level test configuration (retries, parallelism)
  • Hooks.cs - Test session setup/teardown (starts Blazor server)
  • BlazorWebApplicationFactory.cs - WebApplicationFactory for hosting the test server
  • tunit.json - TUnit configuration file
  • *AccessibilityTests.cs - Accessibility test classes inheriting from PageTest

Test Conventions

  • Tests inherit from TUnit.Playwright.PageTest to get Page access
  • Use [Before(Test)] for per-test setup
  • Use [Before(TestSession)] / [After(TestSession)] for session-wide setup
  • Access the running server via Hooks.ServerUrl