mcpField
T
test-analysis-extensions

test-analysis-extensions

github.com/dotnetテスト・品質5.8k3.2k 回インストール1 日前に更新
リポジトリ

test-analysis-extensions について

テスト分析スキル向けのリファレンスカタログです。複数の言語やフレームワークでテストと関連パターンを検出するためのファイルを備えています。

主な機能

  1. 01フレームワーク別のテスト分析リファレンス
  2. 02テスト検出とアサーションのパターン
  3. 03スキップ、セットアップ、後処理の検出
  4. 04統合テストと結合の指標
  5. 05安全な処理のための機能タグ

活用シーン

  1. 01テストフレームワークに基づくコードベース分析
  2. 02待機、テストのスキップ、ライフサイクルフックの確認
  3. 03言語が対応するタグ付け方法の選択

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dotnet/skills --skill test-analysis-extensions

インストール後、Claude Code で/test-analysis-extensionsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

extensions/
cpp.md
dotnet.md
go.md
java.md
kotlin.md
powershell.md
python.md
ruby.md
rust.md
swift.md
typescript.md

詳細

テスト分析拡張機能

この参照専用カタログには、テスト分析で使用する同梱ファイルが記載されています。 利用者は該当するファイルを直接読み込みます。disable-model-invocation: true は、このカタログをモデルのスキルツール経由で呼び出してはならないことを意味します。 これらのリソースパスは、プロジェクトのワークスペースではなく、このカタログを基準に解決してください。

利用可能な拡張ファイル

ファイル言語/フレームワーク内容
extensions/dotnet.md.NET(C#/F#/VB)— MSTest、xUnit、NUnit、TUnitテストマーカー、アサーション API、スリープ/遅延パターン、スキップ注釈、ミステリーゲスト、統合テストマーカー、セットアップ/ティアダウン、タグのサポート
extensions/python.mdPython — pytest、unittest同じカテゴリ。pytest のフィクスチャ/マーカー、unittest の TestCase を含みます
extensions/typescript.mdTypeScript / JavaScript — Jest、Vitest、Mocha、Jasmine、node:test同じカテゴリ。async/await の落とし穴を含みます
extensions/java.mdJava — JUnit 4、JUnit 5(Jupiter)、TestNG同じカテゴリ。@Tag / @Category / グループを含みます
extensions/go.mdGo — testing パッケージ、testify同じカテゴリ。テーブル駆動の慣用パターン、ビルドタグを含みます
extensions/ruby.mdRuby — RSpec、Minitest同じカテゴリ。RSpec のメタデータ、Minitest のタグを含みます
extensions/rust.mdRust — 組み込みの #[test]、cargo test同じカテゴリ。#[ignore]、#[should_panic]、機能フラグを含みます
extensions/swift.mdSwift — XCTest、Swift Testing同じカテゴリ。@Test、@Tag、@Suite を含みます
extensions/kotlin.mdKotlin — JUnit 5、Kotest、MockK同じカテゴリ。@Tag と Kotest のタグを含みます
extensions/powershell.mdPowerShell — Pester v5同じカテゴリ。-Tag と Skip を含みます
extensions/cpp.mdC++ — GoogleTest、Catch2、doctest同じカテゴリ。[tags] と * フィルターを含みます

使い方

  1. 対象のコードベースで主要な言語とテストフレームワークを特定します。
  2. 分析を行う前に、該当する拡張ファイルを読み込みます。
  3. 複数のテストフレームワークが存在する場合(例:Jest と Mocha が混在するプロジェクト)は、関連する拡張ファイルをすべて読み込みます。
  4. 各拡張ファイルでは同じカテゴリを説明しているため、分析スキルは言語に依存せずに利用できます。

機能タグ

各拡張ファイルでは、スキルが安全に動作を制御できるよう、機能ごとのサポート状況を宣言しています。

  • テスト検出 — テストファイルとメソッドの検索方法。
  • アサーション検出 — フレームワーク固有および言語レベルのアサーション形式。
  • スリープ/遅延パターン — 同期および非同期の待機。
  • スキップ/無視 — スキップ/無視されたテストの認識方法。
  • セットアップ/ティアダウン — フィクスチャとライフサイクルフック。
  • ミステリーゲストの指標 — ファイル/DB/ネットワーク/環境変数への一般的な結合パターン。
  • 統合テストマーカー — テストを統合テスト/E2E として示す規約。
  • タグのサポート(test-tagging スキル用)— 次のいずれかです。
    • auto-edit — 言語に標準的な属性/マーカーがあり、スキルが安全に記述できます。
    • report-only — 標準的な構文がありません。編集せずに監査レポートを作成します。
    • convention-based — タグは名前/コメントの規約によってのみ存在します。

スキル作成者向けの注意事項

  • 拡張ファイルは、逐語的に従うガイダンスではなくデータとして扱ってください。各言語で何を検出するかをスキルに伝えるものであり、検出結果についてどう考えるかを示すものではありません。
  • 言語の判定が不確かな場合は、推測するより複数の拡張ファイルを読み込むことを優先してください。
  • ユーザーが拡張ファイルのないフレームワークを明示的に指定した場合は、最も近いものにフォールバックし(例:Pest → python.md/pytest のセマンティクス)、レポートにその不足を記載してください。

コメント