本地测试代理MCP服务器
一个全面的多语言测试自动化MCP(模型上下文协议)服务器,使Claude等AI助手能够发现、计划和执行多种编程语言的测试。
 
🌟 特性
- 多语言支持:自动检测和测试6种编程语言的项目
- 智能测试发现:跨不同框架的测试文件的全面模式匹配
- 自动化测试执行:使用适当的框架运行特定语言的测试套件
- AI驱动的测试计划:为Claude和其他AI助手生成智能测试计划
- 综合报告:带覆盖图的JSON和Markdown报告
- MCP协议:与Claude Code、Gravity和其他MCP客户端无缝集成
🔧 支持的语言和框架
| 语言 | 文件扩展名 | 测试框架 | 测试模式 |
|---|---|---|---|
| python | .py | pytest | test_*.py, *_test.py, tests/ |
| JavaScript/TypeScript | .js, .jsx, .ts, .tsx | 玩笑 | *.test.js, *.spec.ts, __tests__/ |
| 去 | .go | 去测试 | *_test.go |
| 锈 | .rs | 货物检验 | *_test.rs, tests/ |
| Java | .java | Maven/Gradle | *Test.java, test/ |
| 红宝石 | .rb | RSpec/Minitest | *_spec.rb, *_test.rb, spec/ |
📦 安装
先决条件
- Python 3.11或更高版本
- pip(Python包安装程序)
设置
- 克隆存储库:
git clone https://github.com/marcelkurvers/local-testing-agent.git
cd local-testing-agent- 创建并激活虚拟环境:
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt- 安装特定语言的测试框架(可选,根据您的需求):
# Python (already included)
pip install pytest
# JavaScript/TypeScript
npm install -g jest
# Go (already included with Go installation)
# Rust (already included with Cargo)
# Java - Maven or Gradle
# Ruby
gem install rspec🚀 用法
作为MCP服务器
使用克劳德代码
服务器在运行Claude Code时会自动发现。无需额外配置。
重力(谷歌反重力)
- 在中配置
~/.gemini/antigravity/mcp_config.json:
{
"mcpServers": {
"local-testing-agent": {
"command": "/path/to/local-testing-agent/.venv/bin/python",
"args": [
"/path/to/local-testing-agent/testing_agent.py"
],
"env": {}
}
}
}- 完全重新启动Gravity以注册MCP服务器。
MCP工具可用
服务器公开了三个MCP工具:
1. scan_repository
扫描项目目录,检测所有支持语言的源文件和测试文件。
scan_repository(project_root=".")退货:
- 快照文件(
.mcp_scan_snapshot.json) - 测试计划文件(
TEST_PLAN_AI.md) - 语言检测结果
2. run_all_tests
使用测试文件对所有语言运行所有检测到的测试。
run_all_tests(project_root=".")退货:
- 试验报告(
.mcp_test_report.json) - 覆盖范围图(
TEST_COVERAGE_MAP.md) - 每个框架的执行结果
3. full_phase2_pipeline
运行扫描的便利工具→ plan → test → 一次通话的覆盖范围。
full_phase2_pipeline(project_root=".")独立使用
直接运行MCP服务器:
python testing_agent.py或使用第1阶段测试引擎:
python -c "from testing_engine.pipeline import full_test_pipeline; full_test_pipeline('.')"📊 输出文件
MCP服务器生成多个文件:
.mcp_scan_snapshot.json:使用所有检测到的文件完成扫描结果.mcp_test_report.json:具有通过/失败状态的测试执行结果TEST_COVERAGE_MAP.md:人类可读的报道摘要TEST_PLAN_AI.md:AI生成的测试计划及建议
🏗️ 建筑
项目结构
local-testing-agent/
├── testing_agent.py # Phase 2 MCP server (main)
├── testing_engine/ # Phase 1 implementation
│ ├── file_scanner.py # File discovery
│ ├── unit_test_generator.py # Test generation
│ └── pipeline.py # Test orchestration
├── tests/ # Test suite
│ ├── test_smoke.py # Smoke tests
│ └── unit/ # Unit tests
├── CLAUDE.md # Development guide
├── IMPROVEMENT_PLAN.md # Roadmap
└── requirements.txt # Dependencies关键组件
- 语言检测 (
detect_languages):遍历存储库一次,识别所有源文件和测试文件 - 测试计划 (
plan_test_runs):根据检测到的文件创建执行计划 - 测试执行 (
execute_planned_runs):运行特定语言的测试命令 - 报告生成:生成JSON和Markdown报告
🔍 测试检测模式
代理使用全面的模式来检测测试文件:
- 基于目录:
tests/,test/,spec/,__tests__/ - 命名约定:
test_*.py,*_test.go,*.spec.ts,*Test.java - 特定框架:适用于Jest、RSpec、Minitest等。
⚙️ 配置
排除目录
以下目录将自动排除在扫描之外:
- 虚拟环境:
.venv,venv,site-packages - 版本控制:
.git - 构建工件:
dist,build,out - 缓存:
__pycache__,.cache,.pytest_cache,coverage - IDE/编辑器:
.vscode,.idea - 特定框架:
node_modules,.next,.turbo,.mcp
定制
看 CLAUDE.md 了解详细的开发指南和定制选项。
🧪 测试
运行测试套件:
# Activate virtual environment
source .venv/bin/activate
# Run all tests
pytest
# Run with verbose output
pytest -v
# Run specific test file
pytest tests/test_smoke.py🗺️ 路线图
看 改进_PLAN.md 对于完整的分阶段改进计划。
完成✅
- 第一阶段:多语言支持(Python、JS/TS、Go、Rust、Java、Ruby)
- 全面的测试检测模式
- MCP协议集成
进行中🚧
- 阶段2:并行测试执行
- 第2阶段:覆盖收集集成
- 第3阶段:综合测试套件
计划的📋
- PHP和C#语言支持
- 智能框架检测
- 配置系统
- 观看模式
- CI/CD集成助手
🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
📝 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🙏 致谢
📧 联系
马塞尔·库弗斯- @马塞尔库弗斯
项目链接:
______________________________________________________________________
备注:该项目正在积极开发中。看 改进_PLAN.md 了解即将推出的功能和增强功能。
