mcpField
@
@rog0x/mcp-testing-tools

@rog0x/mcp-testing-tools

本地服务
github.com/rog0x开发工具032 周前更新

关于 @rog0x/mcp-testing-tools

@rog0x/mcp-testing-tools 是面向 AI Agent 的测试与质量保障 MCP 服务,可生成 Jest 或 Vitest 测试代码、模拟数据和 API 响应,并分析覆盖情况、生成断言。

主要功能

  1. 01按函数签名生成测试用例
  2. 02生成多类型模拟数据
  3. 03根据 Schema 生成 API 响应
  4. 04分析未覆盖函数并排序建议
  5. 05比较值并生成断言代码

适用场景

  1. 01为函数补充边界与错误测试
  2. 02为测试准备模拟记录或 API 负载
  3. 03定位优先补测的函数
  4. 04把预期值与实际值转成断言

MCP 相关

该 MCP 服务向 AI Agent 暴露测试用例、模拟数据、API 模拟、覆盖分析和断言生成工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"testing-tools": {
"command": "npx",
"args": [
"-y",
"@rog0x/mcp-testing-tools"
]
}
}
}
启动命令npx -y @rog0x/mcp-testing-tools

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@rog0x/mcp-testing-tools1.0.2

工具

5

收录的工具列表 · 更新于 3 周前

参数类型必填说明
frameworkenum否要生成测试的测试框架(默认:vitest)jest | vitest
signaturestring是要为其生成测试的函数签名,例如:"export async function fetchUser(id: number): Promise<User>"
module_pathstring否被测模块的导入路径(默认:"./module")

详细介绍

@rog0x/mcp-testing-tools

通过 Model Context Protocol (MCP) 为 AI Agent 提供测试和质量保证工具。

工具

generate_tests

根据函数签名生成测试用例。生成四类可直接运行的 Jest 或 Vitest 测试代码:

  • 正常路径 -- 有效输入、预期输出
  • 边缘情况 -- 空字符串、零值、null 参数
  • 错误情况 -- 缺少参数、类型错误
  • 边界值 -- 极大数值、大型数组、NaN

参数:

名称类型必填描述
signaturestring是函数签名,例如 async function fetchUser(id: number): Promise<User>
frameworkstring否jest 或 vitest(默认:vitest)
module_pathstring否被测模块的导入路径(默认:./module)
generate_mock_data

生成用于测试的逼真模拟数据。支持的类型:

name、email、address、date、uuid、phone、company、credit_card、ip

参数:

名称类型必填描述
typestring是要生成的数据类型
countnumber否项目数量(默认:10,最大:1000)
localestring否en 或 es(默认:en)
typesstring[]否生成包含多种字段类型的混合记录
generate_api_mock

根据架构定义生成模拟 API 响应。通过从字段名称和类型推断值,为 REST 端点创建逼真的 JSON 负载。

参数:

名称类型必填描述
endpointstring是API 端点路径
methodstring否HTTP 方法(默认:GET)
fieldsobject[]是字段架构,包含 name、type,以及可选的 items、fields、nullable、enum
countnumber否记录数量(默认:1,最大:100)
status_codenumber否HTTP 状态码(默认:200)
wrap_in_envelopeboolean否包装为 { success, data, meta }(默认:true)
analyze_test_coverage

分析源代码和测试代码,找出未经测试的函数。按以下因素对建议进行优先级排序:

  • 导出状态(公共 API 范围)
  • 圈复杂度估算
  • 参数数量
  • 异步函数(错误路径更多)

参数:

名称类型必填描述
source_codestring是要分析的源代码
test_codestring是现有测试代码
source_file_namestring否文件名标签(默认:source.ts)
generate_assertions

通过比较预期值和实际值生成详细的断言代码。执行深度差异比较,并生成逐字段断言及描述性注释。

参数:

名称类型必填描述
expectedstring是JSON 字符串形式的预期值
actualstring是JSON 字符串形式的实际值
labelstring否比较说明
frameworkstring否jest、vitest 或 chai(默认:jest)
deepboolean否对象/数组进行深度相等比较(默认:true)

设置

npm install
npm run build

在 Claude Desktop 中使用

添加到你的 claude_desktop_config.json 中:

{
  "mcpServers": {
    "testing-tools": {
      "command": "node",
      "args": ["path/to/mcp-testing-tools/dist/index.js"]
    }
  }
}

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。