关于 @rog0x/mcp-testing-tools
@rog0x/mcp-testing-tools 是面向 AI Agent 的测试与质量保障 MCP 服务,可生成 Jest 或 Vitest 测试代码、模拟数据和 API 响应,并分析覆盖情况、生成断言。
主要功能
- 01按函数签名生成测试用例
- 02生成多类型模拟数据
- 03根据 Schema 生成 API 响应
- 04分析未覆盖函数并排序建议
- 05比较值并生成断言代码
适用场景
- 01为函数补充边界与错误测试
- 02为测试准备模拟记录或 API 负载
- 03定位优先补测的函数
- 04把预期值与实际值转成断言
MCP 相关
该 MCP 服务向 AI Agent 暴露测试用例、模拟数据、API 模拟、覆盖分析和断言生成工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| framework | enum | 否 | 要生成测试的测试框架(默认:vitest)jest | vitest |
| signature | string | 是 | 要为其生成测试的函数签名,例如:"export async function fetchUser(id: number): Promise<User>" |
| module_path | string | 否 | 被测模块的导入路径(默认:"./module") |
详细介绍
@rog0x/mcp-testing-tools
通过 Model Context Protocol (MCP) 为 AI Agent 提供测试和质量保证工具。
工具
generate_tests
根据函数签名生成测试用例。生成四类可直接运行的 Jest 或 Vitest 测试代码:
- 正常路径 -- 有效输入、预期输出
- 边缘情况 -- 空字符串、零值、null 参数
- 错误情况 -- 缺少参数、类型错误
- 边界值 -- 极大数值、大型数组、NaN
参数:
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
signature | string | 是 | 函数签名,例如 async function fetchUser(id: number): Promise<User> |
framework | string | 否 | jest 或 vitest(默认:vitest) |
module_path | string | 否 | 被测模块的导入路径(默认:./module) |
generate_mock_data
生成用于测试的逼真模拟数据。支持的类型:
name、email、address、date、uuid、phone、company、credit_card、ip
参数:
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
type | string | 是 | 要生成的数据类型 |
count | number | 否 | 项目数量(默认:10,最大:1000) |
locale | string | 否 | en 或 es(默认:en) |
types | string[] | 否 | 生成包含多种字段类型的混合记录 |
generate_api_mock
根据架构定义生成模拟 API 响应。通过从字段名称和类型推断值,为 REST 端点创建逼真的 JSON 负载。
参数:
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
endpoint | string | 是 | API 端点路径 |
method | string | 否 | HTTP 方法(默认:GET) |
fields | object[] | 是 | 字段架构,包含 name、type,以及可选的 items、fields、nullable、enum |
count | number | 否 | 记录数量(默认:1,最大:100) |
status_code | number | 否 | HTTP 状态码(默认:200) |
wrap_in_envelope | boolean | 否 | 包装为 { success, data, meta }(默认:true) |
analyze_test_coverage
分析源代码和测试代码,找出未经测试的函数。按以下因素对建议进行优先级排序:
- 导出状态(公共 API 范围)
- 圈复杂度估算
- 参数数量
- 异步函数(错误路径更多)
参数:
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
source_code | string | 是 | 要分析的源代码 |
test_code | string | 是 | 现有测试代码 |
source_file_name | string | 否 | 文件名标签(默认:source.ts) |
generate_assertions
通过比较预期值和实际值生成详细的断言代码。执行深度差异比较,并生成逐字段断言及描述性注释。
参数:
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
expected | string | 是 | JSON 字符串形式的预期值 |
actual | string | 是 | JSON 字符串形式的实际值 |
label | string | 否 | 比较说明 |
framework | string | 否 | jest、vitest 或 chai(默认:jest) |
deep | boolean | 否 | 对象/数组进行深度相等比较(默认: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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。