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本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
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
$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. 下の青いボタンを押して
tunit.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
tunitフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
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
不安定さの軽減
テストプロジェクトには、不安定さを軽減するためのいくつかの機能が含まれています。
- 自動再試行: テストは失敗時に最大2回自動的に再試行されます (
[Retry(2)]in GlobalSetup.cs) - 完全にシーケンシャルな実行: すべてのテストは
GlobalSetup.csの[assembly: NotInParallel]を介してシーケンシャルに実行されます - サーバー準備完了チェック:
Hooks.csは、テスト開始前にBlazorサーバーが完全に準備完了になるのを待ちます - 拡張されたタイムアウト: より長いテストおよびフックのタイムアウトのために
tunit.jsonを介して構成されます
プロジェクト構造
GlobalSetup.cs- アセンブリレベルのテスト構成 (再試行、並列処理)Hooks.cs- テストセッションのセットアップ/破棄 (Blazorサーバーを起動)BlazorWebApplicationFactory.cs- テストサーバーをホストするためのWebApplicationFactorytunit.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:
- Automatic Retries: Tests are automatically retried up to 2 times on failure (
[Retry(2)]in GlobalSetup.cs) - Fully Sequential Execution: All tests run sequentially via
[assembly: NotInParallel]in GlobalSetup.cs - Server Readiness Check:
Hooks.cswaits for the Blazor server to be fully ready before tests start - Extended Timeouts: Configured via
tunit.jsonfor 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 servertunit.json- TUnit configuration file*AccessibilityTests.cs- Accessibility test classes inheriting fromPageTest
Test Conventions
- Tests inherit from
TUnit.Playwright.PageTestto getPageaccess - Use
[Before(Test)]for per-test setup - Use
[Before(TestSession)]/[After(TestSession)]for session-wide setup - Access the running server via
Hooks.ServerUrl