
Test Runner MCP

2025.04.14
12
TypeScript测试框架测试执行测试管理开发效率
mcp-test-runner 是一个基于 Model Context Protocol (MCP) 的测试运行服务器,旨在为多种测试框架提供统一的执行和结果解析接口。它支持包括 Bats、Pytest、Flutter Tests、Jest、Go Tests、Rust Tests 以及通用命令执行在内的多种测试框架。该服务通过标准化测试执行流程和结果输出格式,简化了多框架测试环境的管理和集成。
View on GitHub
Overview
基本能力
产品定位
mcp-test-runner 是一个多框架测试执行和结果解析的统一接口服务,旨在简化测试流程和提高开发效率。
核心功能
- 支持多种测试框架:Bats、Pytest、Flutter Tests、Jest、Go Tests、Rust Tests 和通用命令执行
- 统一的测试执行接口
- 标准化的测试结果解析
- 内置安全特性,防止执行有害命令
- 特定框架的增强支持(如 Flutter 和 Rust)
- 灵活的配置选项
适用场景
- 多框架测试环境的统一管理
- 持续集成/持续部署(CI/CD)流程中的测试执行
- 自动化测试套件的集成
- 跨平台项目的测试管理
- 需要安全执行外部命令的场景
工具列表
run_tests
: 主测试执行工具,支持配置测试命令、工作目录、框架类型等参数
常见问题解答
- Flutter 测试支持:需要正确配置 FLUTTER_ROOT 和 PUB_CACHE 环境变量
- 安全限制:默认阻止 sudo 和 su 命令,可通过 securityOptions 配置
- 通用命令执行:支持任意命令执行,但受安全限制保护
使用教程
使用依赖
安装各测试框架的前置依赖:
# Bats
apt-get install bats 或 brew install bats
# Pytest
pip install pytest
# Flutter
Follow Flutter installation guide (https://flutter.dev/docs/get-started/install)
# Jest
npm install --save-dev jest
# Go
Follow Go installation guide (https://go.dev/doc/install)
# Rust
Follow Rust installation guide (https://www.rust-lang.org/tools/install)
安装教程
npm install test-runner-mcp
配置
在 MCP 设置文件中添加 test-runner 配置(如 claude_desktop_config.json 或 cline_mcp_settings.json):
{
"mcpServers": {
"test-runner": {
"command": "node",
"args": ["/path/to/test-runner-mcp/build/index.js"],
"env": {
"NODE_PATH": "/path/to/test-runner-mcp/node_modules",
"FLUTTER_ROOT": "/opt/homebrew/Caskroom/flutter/3.27.2/flutter",
"PUB_CACHE": "/Users/username/.pub-cache",
"PATH": "/opt/homebrew/Caskroom/flutter/3.27.2/flutter/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}
运行测试
使用 run_tests
工具执行测试,示例配置:
{
"command": "test command to execute",
"workingDir": "working directory for test execution",
"framework": "bats|pytest|flutter|jest|go|rust|generic",
"outputDir": "directory for test results",
"timeout": "test execution timeout in milliseconds (default: 300000)",
"env": "optional environment variables",
"securityOptions": "optional security options for command execution"
}
调试方式
- 检查环境变量是否正确配置
- 验证各测试框架是否已正确安装
- 检查输出目录权限
- 查看生成的测试结果文件(test_output.log, test_errors.log, test_results.json, summary.txt)
开发
设置
- 克隆仓库
- 安装依赖:
npm install
- 构建项目:
npm run build
运行测试
npm test