local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Integrates with Dependabot for automated dependency updates
Allows running and parsing Flutter tests, with enhanced support including environment setup, error handling, and detailed output processing
Integrates with GitHub Actions for continuous integration, including automated testing on Node.js 18.x and 20.x, test results uploaded as artifacts
テストランナーMCP
複数のテストフレームワークからのテスト結果を実行および解析するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、テストの実行と出力の処理のための統一されたインターフェースを提供し、以下をサポートします。
- Bats(Bash自動テストシステム)
- Pytest (Python テストフレームワーク)
- フラッターテスト
- Jest (JavaScript テストフレームワーク)
- Goテスト
- 錆試験(貨物試験)
- 汎用(任意のコマンド実行用)
インストール
前提条件
それぞれのテスト タイプに対して、次のテスト フレームワークをインストールする必要があります。
- Bats:
apt-get install bats
またはbrew install bats
- Pytest:
pip install pytest
- Flutter: Flutterインストールガイドに従ってください
- Jest:
npm install --save-dev jest
- Go: Go インストールガイドに従う
- Rust: Rust インストールガイドに従う
使用法
構成
テストランナーを MCP 設定に追加します (例: claude_desktop_config.json
またはcline_mcp_settings.json
)。
注: Flutter テストの場合は、次のものを必ず置き換えてください。
/opt/homebrew/Caskroom/flutter/3.27.2/flutter
を実際の Flutter インストールパスに置き換えます。/Users/username/.pub-cache
実際のpubキャッシュパスに置き換えます- PATHを更新してシステムの実際のパスを追加します
これらの値は、次のコマンドを実行することで見つけることができます。
テストの実行
次のパラメータを指定してrun_tests
ツールを使用します。
各フレームワークの例:
セキュリティ機能
テスト ランナーには、特にgeneric
フレームワークに対して潜在的に有害なコマンドの実行を防ぐためのセキュリティ機能が組み込まれています。
- コマンド検証
- デフォルトで
sudo
とsu
をブロックします rm -rf /
のような危険なコマンドを防止します- 安全な場所以外でのファイルシステムの書き込み操作をブロックします
- デフォルトで
- 環境変数のサニタイズ
- 潜在的に危険な環境変数を除外します
- 重要なシステム変数の上書きを防止
- 安全なパス処理を保証する
- 設定可能なセキュリティ
- 必要に応じて、
securityOptions
でセキュリティ制限をオーバーライドします。 - セキュリティ機能のきめ細かな制御
- 標準テスト使用時のデフォルトの安全設定
- 必要に応じて、
設定できるセキュリティ オプション:
Flutterテストのサポート
テスト ランナーには、Flutter テストの強化されたサポートが含まれています。
- 環境設定
- Flutter環境の自動構成
- PATHとPUB_CACHEの設定
- Flutterのインストール検証
- エラー処理
- スタックトレースの収集
- アサーションエラー処理
- 例外キャプチャ
- テスト失敗検出
- 出力処理
- 完全なテスト出力キャプチャ
- スタックトレースの保存
- 詳細なエラー報告
- 生の出力の保存
Rustテストのサポート
テスト ランナーは、Rust のcargo test
に特化したサポートを提供します。
- 環境設定
- より適切なエラーメッセージを表示するために、RUST_BACKTRACE=1 を自動的に設定します。
- 出力解析
- 個々のテスト結果を解析する
- 失敗したテストの詳細なエラーメッセージをキャプチャします
- 無視されたテストを特定する
- 概要情報を抽出します
汎用テストサポート
CI/CD パイプライン、 act
経由の GitHub Actions、またはその他のコマンド実行の場合、汎用フレームワークは以下を提供します。
- 自動出力分析
- 出力を論理ブロックに分割する試み
- セクションヘッダーを識別します
- 合格/不合格の指標を検出
- 未知のフォーマットでも適切な出力構造を提供します
- 柔軟な統合
- 任意のシェルコマンドで動作します
- 特定のフォーマット要件はありません
act
、Docker、カスタムスクリプトなどのツールとの統合に最適
- セキュリティ機能
- 有害な操作を防ぐためのコマンド検証
- 必要に応じて特定の権限を許可するように設定できます
出力形式
テスト ランナーは、完全なテスト出力を保持しながら構造化された出力を生成します。
結果は指定された出力ディレクトリに保存されます。
test_output.log
: 生のテスト出力test_errors.log
: エラーメッセージ(ある場合)test_results.json
: 構造化されたテスト結果summary.txt
: 人間が読める要約
発達
設定
- リポジトリをクローンする
- 依存関係をインストールします:Copy
- プロジェクトをビルドします。Copy
テストの実行
テスト スイートには、サポートされているすべてのフレームワークのテストが含まれており、成功したテスト シナリオと失敗したテスト シナリオの両方が検証されます。
CI/CD
このプロジェクトでは、継続的インテグレーションのために GitHub Actions を使用しています。
- Node.js 18.x および 20.x での自動テスト
- テスト結果をアーティファクトとしてアップロード
- 依存関係の自動更新用に設定されたDependabot
貢献
- リポジトリをフォークする
- 機能ブランチを作成する
- 変更をコミットする
- ブランチにプッシュする
- プルリクエストを作成する
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
You must be authenticated.
Tools
モデル コンテキスト プロトコル インターフェースを通じて、Bats、Pytest、Flutter、Jest、Go などのさまざまなテスト フレームワークの統合実行と結果解析を容易にします。