项目简介

CovLoupe 是一个专门用于分析Ruby SimpleCov测试覆盖率数据的MCP服务器,提供三种使用方式:MCP服务器、命令行工具和Ruby库,帮助开发者通过AI助手深入了解项目的测试覆盖情况。

主要功能

  • 覆盖率查询:查看文件覆盖率、未覆盖行数、详细命中数据
  • 多格式输出:支持表格、JSON、YAML等多种格式
  • 源文件注释:显示带有上下文行的源代码覆盖情况
  • 陈旧性检测:识别过时的覆盖率数据(缺失文件、时间戳不匹配、行数变化)
  • 多测试套件支持:自动合并多个测试套件(RSpec + Cucumber等)
  • 灵活路径解析:支持绝对路径和相对路径
  • CI/CD集成:生成覆盖率报告和设置通过/失败条件

安装步骤

# 安装 gem
gem install cov-loupe

# 生成覆盖率数据(先运行测试)
bundle exec rspec  # 或其他测试命令

# 验证覆盖率已生成
ls -l coverage/.resultset.json

服务器配置

要将CovLoupe配置为MCP服务器,需要在MCP客户端中添加以下配置:

{
  "mcpServers": {
    "cov-loupe": {
      "command": "cov-loupe",
      "args": ["--resultset", "/path/to/your/coverage"]
}

配置参数说明:

  • 'command': 固定为 "cov-loupe"
  • 'args':
    • '--resultset': 指定覆盖率数据文件路径
    • '--root': 指定项目根目录
  • '--raise-on-stale": 设置为true时,在覆盖率数据过时会导致失败
  • '--error-mode': 错误处理模式(off/log/debug)
  • '--tracked-globs': 指定要跟踪的文件模式

基本使用方法

配置完成后,AI助手可以通过MCP协议调用以下工具:

  • 'coverage_summary_tool' - 获取文件覆盖率摘要
  • 'uncovered_lines_tool' - 查询未覆盖的代码行
  • 'list_tool' - 列出所有文件的覆盖率数据
  • 'coverage_totals_tool' - 获取项目总体覆盖率
  • 'coverage_table_tool' - 生成格式化的覆盖率表格
  • 'validate_tool' - 验证覆盖率数据有效性

支持的工具

服务器提供10个MCP工具,涵盖覆盖率分析的所有方面,包括详细行级数据、原始覆盖信息、项目统计等。

信息

分类

开发者工具