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