多领域测试框架

一个基于Jest和TypeScript的测试框架,用于测试运行在MCP(模型上下文协议)上的Domain GPT,支持多领域(如保险、医疗、电商)的测试需求。

  • by itismohan
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 itismohan/McpTest

使用说明

#CORELLA-MCP测试框架

此仓库包含一个基于Jest+TypeScript的测试框架,用于 域GPT 那就跑过去了 MCP(模型上下文协议) 并直接在ChatGPT内部返回多载波报价。

这提供了什么

  • 分层测试:
    • E2E对话流程 (模拟GPT+MCP+后端)
    • MCP协议测试
    • 后端API测试
    • 集成测试
    • 错误和边缘情况测试
  • MCP客户端和API客户端助手
  • GPT对话模拟器(用于确定性测试)
  • 为运营商和用户提供模拟数据
  • 清晰的配置和扩展点

注意:这是结构化的,因此您可以插入您的 真实MCP服务器 和 真实后端 通过改变环境变量。


✅ 实施总结

核心基础设施

  1. 类型系统 (src/types/domain.ts)

    • DomainConfig 一致结构接口
    • MCPToolDefinition 用于工具模式
    • TestContext 用于测试执行
    • DomainValidator 用于自定义验证
  2. 域加载器 (src/config/domain-loader.ts)

    • 通过动态配置加载 DOMAIN_CONFIG env 是
    • 自动验证域配置
    • 无需更改代码即可支持多个域
  3. 域基础工厂 (src/config/domain-base.ts)

    • createBaseDomainConfig() -减少样板
    • createMCPTool() -一致的工具定义
    • createMockDataGenerator() -可重复使用的工厂模式

预构建域配置

  1. 保险 (insurance.config.ts)-多运营商报价
  2. 医疗保健 (healthcare.config.ts)-患者护理协调
  3. 电子商务 (ecommerce.config.ts)-产品目录和订单

每个都包括:

  • 特定领域的MCP工具
  • 模拟数据生成器
  • 自定义验证器
  • 可配置端点

增强包.json

  • 用于领域特定测试的新npm脚本:
    • npm run test:domain:healthcare
    • npm run test:domain:ecommerce
    • npm run test:all-domains
  • 更新的元数据反映了与领域无关的性质
  • 性能测试支持

文档

  • README.md -完整的指南,包括所有领域的示例
  • 域配置/README.md -自定义域创建指南
  • .env.示例 -环境变量引用

入门指南

npm install
npm test

环境变量

创建一个 .env 或者在运行测试时导出这些:

  • MCP_BASE_URL –MCP服务器的基本URL
    例子: http://localhost:4000
  • API_BASE_URL –DomainGPT后端的基本URL
    例子: http://localhost:5000

如果未设置这些,测试将默认为 http://localhost:4000 和 http://localhost:5000.


文件夹结构

tests/
  e2e/
  mcp/
  api/
  integration/
  helpers/
  mocks/

每个目录都包含主ChatGPT提示符中描述的重点测试。

添加新测试

  1. 添加新 *.test.ts 将文件放在相应的文件夹中。
  2. 重用来自的助手 tests/helpers 在可能的情况下。
  3. 在下面添加模拟数据 tests/mocks 如果需要的话。
  4. 跑 npm test 并确保所有测试在5分钟内通过。

🎯 主要优势

✅ 编写一次测试 -适用于任何领域
✅ 切换域 -只要改变 DOMAIN_CONFIG env变量
✅ 可扩展 -在几分钟内创建自定义域
✅ 类型安全 -完全支持TypeScript
✅ 零样板 -使用提供的基地工厂
✅ 生产就绪 -使用真实协议进行分层测试

现在您的框架支持 保险、医疗保健、电子商务或任何自定义域名 你需要!