测试运行器 MCP
模型上下文协议 (MCP) 服务器,用于运行和解析来自多个测试框架的测试结果。该服务器提供统一的接口来执行测试并处理其输出,支持:
Bats(Bash 自动测试系统)
Pytest(Python测试框架)
Flutter 测试
Jest(JavaScript 测试框架)
Go 测试
防锈测试(货物测试)
通用(用于任意命令执行)
安装
Related MCP server: JMeter MCP Server
先决条件
需要针对各自的测试类型安装以下测试框架:
蝙蝠:
apt-get install bats或brew install batsPytest:
pip install pytestFlutter:按照Flutter 安装指南进行操作
开玩笑:
npm install --save-dev jestGo:按照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 或任何其他命令执行,通用框架提供:
自动输出分析
尝试将输出分割成逻辑块
标识节标题
检测通过/失败指标
即使对于未知格式也能提供合理的输出结构
灵活集成
可与任意 shell 命令配合使用
无特定格式要求
非常适合与
act、Docker 和自定义脚本等工具集成
安全功能
命令验证以防止有害操作
必要时可配置为允许特定的提升权限
输出格式
测试运行器生成结构化输出,同时保留完整的测试输出:
结果保存在指定的输出目录中:
test_output.log:原始测试输出test_errors.log:错误消息(如果有)test_results.json:结构化测试结果summary.txt:人类可读的摘要
发展
设置
克隆存储库
安装依赖项:
npm install构建项目:
npm run build
运行测试
该测试套件包括所有受支持框架的测试,并验证成功和失败的测试场景。
持续集成/持续交付
该项目使用 GitHub Actions 进行持续集成:
在 Node.js 18.x 和 20.x 上进行自动化测试
测试结果已上传为工件
Dependabot 配置为自动依赖项更新
贡献
分叉存储库
创建你的功能分支
提交你的更改
推送到分支
创建拉取请求
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。