测试运行器 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
:人类可读的摘要
发展
设置
克隆存储库
安装依赖项:
构建项目:
运行测试
该测试套件包括所有受支持框架的测试,并验证成功和失败的测试场景。
持续集成/持续交付
该项目使用 GitHub Actions 进行持续集成:
在 Node.js 18.x 和 20.x 上进行自动化测试
测试结果已上传为工件
Dependabot 配置为自动依赖项更新
贡献
分叉存储库
创建你的功能分支
提交你的更改
推送到分支
创建拉取请求
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
通过模型上下文协议接口,方便Bats、Pytest、Flutter、Jest、Go等各种测试框架统一执行和结果解析。
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that integrates with the Qase test management platform, allowing users to create and retrieve test cases, manage test runs, and interact with Qase projects.Last updated -21
- AsecurityFlicenseAqualityA Model Context Protocol server that allows AI assistants to execute and manage JMeter performance tests through natural language commands.Last updated -645
- -securityAlicense-qualityA Model Context Protocol server that provides programmatic APIs for running mutation tests with mutmut, analyzing results, and improving test coverage in Python projects.Last updated -MIT License
- AsecurityFlicenseAqualityA testing server that demonstrates Model Context Protocol features, providing access to user data, todos, and system information through resources, tools for user management and calculations, and prompt templates for various analyses.Last updated -4