Token导航 LogoToken导航TokenDH.com
UnitTest Generator MCP logo
开发工具stdio官方级别未说明来源级核验

UnitTest Generator MCP

MCP Server

一个自动化生成和验证C/C++代码Google Test (GTest)套件的高性能工具,基于libclang进行AST分析并提供技术基线。

工具数

5

提示词数

0

GitHub Stars

1

资源数

0
自动化测试Python开发工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ajithksr

提供方

ajithksr

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 main.py analyze path/to/source.cpp

详细介绍

代理C/C++单元测试生成器(MCP服务器)

该项目是一个高性能 模型上下文协议(MCP)服务器 它自动化了C/C++代码的Google测试(GTest)套件的生成和验证。它利用 libclang 用于AST分析,并提供技术基线(边界、EP、MCDC),以帮助LLM主机生成高质量的测试用例。

______________________________________________________________________

🏗️ 建筑与设计

该公用事业公司充当 在C++构建/分析生态系统和大型语言模型(LLM)之间。它将技术分析(AST、构建、覆盖)与智能测试设计分开,使LLM能够专注于创建高价值的测试场景。

系统概述

graph TD
    subgraph "MCP Host"
        A["User / Agent Prompt"] --> B["Host LLM"]
    end
    
    subgraph "MCP Server (FastMCP)"
        C["mcp_server.py"]
        D["CodeAnalyzer"]
        E["StrategyGenerator"]
        F["TestGenerator"]
    end

    subgraph "Local Tooling"
        G["libclang (AST)"]
        H["CMake / Make (Build)"]
        I["GTest / LCOV (Verify)"]
    end

    B  C
    C --> D
    C --> E
    C --> F
    D --> G
    F --> H
    C --> I

序列流:循环中的人工作流程

sequenceDiagram
    autonumber
    participant U as User
    participant H as MCP Host (LLM)
    participant S as MCP Server
    participant T as OS / Tooling

    U->>H: Request Test Generation
    H->>U: Mode Choice (Step-by-Step vs E2E?)
    U-->>H: Step-by-Step

    H->>S: analyze_source_code()
    S-->>H: AST Results (Functions, Types)
    
    H->>S: get_test_strategy_context()
    S-->>H: Technical Baseline (MCDC, Boundaries)
    
    Note over H,U: MANDATORY REVIEW: Strategy
    H->>U: Display Strategy (.md)
    U-->>H: Approve Strategy

    H->>H: Generate Test Implementation Logic

    H->>S: generate_gtest_file(bodies)
    S-->>H: Success (GeneratedUT/test.cpp)
    
    Note over H,U: MANDATORY REVIEW: Code
    H->>U: Display Generated Code
    U-->>H: Approve Code

    H->>S: run_and_verify_tests()
    S->>T: cmake, make, run, lcov
    T-->>S: Execution & Coverage Data
    S-->>H: Final Summary
    H->>U: Final Report (HTML Coverage link)

______________________________________________________________________

🛠️ MCP工具

  1. analyze_source_code:返回深层AST详细信息(签名、类成员、自定义类型)。
  2. analyze_existing_tests:返回现有的GTest套件,以确定覆盖范围差距。
  3. get_test_strategy_context:提供 技术基线 (MCDC条件、边界值)供LLM在生成过程中使用。
  4. generate_gtest_file:将主机提供的测试体合并到一个强大的GTest模板中。
  5. run_and_verify_tests:协调构建和验证管道(CMake、Make、GTest、LCOV)。

______________________________________________________________________

🚀 使用指南

1.独立CLI模式(main.py)

该工具可以直接从命令行用于自动化或本地测试。

  • 分析并制定战略:
  python3 main.py analyze path/to/source.cpp

创建 TestStrategy/source_strategy.yaml.md.

  • 生成测试代码:
  python3 main.py generate TestStrategy/source_strategy.yaml

创建 GeneratedUT/source_test.cpp.

  • 构建并运行覆盖:
  python3 main.py build path/to/source.cpp --coverage --run

执行内置 GeneratedUT/build 并生成HTML覆盖率 GeneratedUT/coverage_html/.

  • 清洁工作区:
  python3 main.py clean

安全移除 GeneratedUT/TestStrategy/ 目录。

2.MCP模式(技能工作流程)

使用启用MCP的代理时,请使用 cpp_test_generator 技能。支持对象包括:

  • 基洛代码:用途 .kilocode/skills/
  • Roo 代码:用途 .roo/skills/.roomodes
  • GitHub Copilot:用途 .github/copilot-instructions.md

工作流序列:

  1. 初始化:代理要求“逐步”或“端到端”模式。使用“逐步”进行手动审查。
  2. 技术基线:代理提供战略背景。 请仔细阅读此内容TestStrategy 文件夹。
  3. 批准:授予继续代码生成的权限。
  4. 代码审查:代理显示生成的代码。 检查此内容是否正确GeneratedUT 文件夹。
  5. 最终验证:授予构建和验证的权限。

______________________________________________________________________

📂 项目结构

  • src/:核心逻辑(分析器、策略、生成器)。
  • templates/:Jinja2模板 CMakeLists.txt 以及GTest文件。
  • TestStrategy/:分析结果的输出目录(YAML/MD)。
  • GeneratedUT/:生成的测试和构建工件的输出目录。
  • main.py:独立CLI入口点。
  • mcp_server.py:MCP服务器入口点。

______________________________________________________________________

🔩 安装

需求

  • Linux(针对Ubuntu/Debian进行了优化)
  • libclang, cmake, g++, lcov, python3
  • pip install mcp jinja2 pyyaml rich typer

MCP客户端配置

将此添加到您的 mcp_settings.jsonmcp.json:

{
  "command": "python3",
  "args": ["/absolute/path/to/UnitTest_Generator_MCP/mcp_server.py"],
  "env": { "PYTHONPATH": "/absolute/path/to/UnitTest_Generator_MCP" }
}

目录标签

目录标签

自动化测试Python开发工具单元测试本地部署C/C++AST分析GTest

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP