首页 / 资讯中心 / 文章详情

Unreal_mcp如何保证质量?单元测试、集成测试、参数审计与搜索评测五层测试体系详解

Unreal_mcp如何保证质量?单元测试、集成测试、参数审计与搜索评测五层测试体系详解 ★ FEATURED ARTICLE
【免费下载链接】Unreal_mcpA comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine through the native C Automation Bridge plugin. Built with TypeScript and C.项目地址https://gitcode.com/gh_mirrors/un/Unreal_mcp点击查看免费下载Unreal_mcpEngineWire是一个让 AI 助手通过 Model Context Protocol 直接操控 Unreal Engine 的 MCP server它靠一套五层测试体系来保证近 400 个能力capabilities稳定可靠。对普通用户来说质量意味着你的一句在场景里生成一盏灯不会误删资产、不会崩溃对开发者来说它意味着每次改动都有自动化护栏。下面拆解这五层测试各自管什么、怎么跑以及为什么这样组合。 一图看懂五层测试体系Unreal_mcp 的官方测试指南把整个测试面分成了五个套件从不需要引擎到必须有真实编辑器层层递进。官方入口见 docs/testing-guide.md。层名称覆盖什么需要 Unreal 吗1单元测试Vitest网关行为、安全、路由、以及读 C 不编译的源码契约否2冒烟测试用内存传输跑一遍已构建的服务端否3参数审计每个 action 与参数对照集成用例做静态严格检查否4搜索评测搜索排序语料的召回率、Top-1 准确率与延迟预算否5集成测试跨工具工作流 分领域套件打真实编辑器是前四层都是快而便宜可以在没有引擎的机器上跑只有第五层需要打开一个真实的 Unreal Editor。官方在 tests/AGENTS.md 里把这五层连同各自命令都列清楚了。 第一层单元测试——不编译引擎也能校验 C单元测试用 Vitest 驱动命令是npm run test:unit定义在 package.json。它跑两类文件src/**/*.test.ts和tests/unit/**/*.test.ts。它有两类值得注意的能力网关行为与路由验证search / describe / execute / configure四个操作的契约以及安全性比如未声明参数必须被拒绝。源码契约source contractstests/unit/plugin/下的用例会直接读取插件的 C 源码文本断言必须出现或禁止出现的模式——注意它不编译 Unreal只是当文本检查器。结构类测试还会强制文件边界、可解析的 include以及250 行纯代码上限。这层的好处是即使手头没有引擎也能守住 C 插件侧的架构规矩。 第二层冒烟测试——30 秒验证装没装对冒烟测试脚本 scripts/smoke-test.ts 用命令npm run test:smoke运行先npm run build。它自己设置MOCK_UNREAL_CONNECTION用内存传输连上已构建的服务端全程不碰真实编辑器。它只回答一个问题服务端起得来、且对外契约对吗具体断言对外只有一个工具名字叫unrealsearch / describe / configure都能正常工作直接调用某个被隐藏的父工具会被拒绝。CI 会在 Node 20.19 和 26 两个版本上对 push 与 PR 跑它相当于每次提交都过一遍开箱即用的快速体检。 第三层参数审计——每个 action、每个参数都要对上账参数审计命令是npm run test:params入口 tests/parameter-combination-audit.mjs内部开启--static --strict --optional-strict三把静态严格闸。它做的事是把生成的 schema与集成用例逐一对账核心逻辑在 tests/parameter-audit-coverage.mjs。它会检查并让进程以非零码失败缺失/多余的 action任何用例用了 schema 里没声明的 action或声明了却没人测都会挂多余参数--strict用例传了未声明的参数名必须删未覆盖的可选参数--optional-strictschema 里声明的可选参数若静态没被覆盖也挂。一句话schema 是单一事实来源测试用例必须和它严丝合缝。这样能防止删了个参数却忘了同步测试这类漂移。 第四层搜索评测——AI 能不能听懂人话Unreal_mcp 只暴露一个unreal工具AI 靠搜索来从近 400 个能力里找到对的那一个。所以搜得准不准就是核心质量指标。这层由npm run eval:check驱动代码集中在 tests/eval/ 目录。它围绕一份黄金语料 tests/eval/corpus.data.ts 展开把口语化的意图如save the current level to disk映射到正确的能力 可接受的同义能力。发布闸 tests/eval/gate.test.ts 卡的是具体数字预算指标预算Top-K 召回率≥ 98%Top-1 准确率≥ 90%单次 search 响应体积≤ 32 KiB单次 describe 响应体积≤ 64 KiBsearch 预热后 p95 延迟≤ 50 msdescribe 预热后 p95 延迟≤ 25 ms此外还有几个防退化设计口语探针tests/eval/plain-phrasing.test.ts 把 25 条小模型常说的话逐条钉死必须排第一避免总体均值达标却单条翻车。自信命中精度tests/eval/confident-hit.test.ts 要求当搜索结果够自信可跳过 describe 直接执行时在 TypeScript 与 Native 两条路上都要 ≥ 95% 命中正确能力且两条路用的是同一个置信比例。这层让搜索这件最容易被用户感知的事有了可量化、可回归的护栏。 第五层集成测试——真刀真枪打真实编辑器只有这一层需要一台跑着 EngineWire 插件的 Unreal Editor5.0–5.8。命令是npm test即 tests/integration.mjs分领域套件在 tests/mcp-tools/ 下按 core / gameplay / utility / world 四类组织。它的运行方式有几个贴心设计自动构建若dist/cli.js缺失或过期测试器会自动npm run build可用UNREAL_MCP_NO_AUTO_BUILD1关闭并且构建失败会直接中止不再假装全绿。期望语法很诚实用例的expected用|分隔第一个词必须写清这条用例到底要证明success、error还是timeout禁止用success|error这种万能遮罩糊弄。折叠孪生对每个折叠族运行器会自动把某个成员的首条用例改写为族的主名 选择器值再跑一遍见 tests/fold-twins.mjs保证每个对外主名都被覆盖又不写重复用例。超时阶梯单条用例默认 5s、服务端单次调用 60s、带进度的客户端 300s均可用环境变量覆盖。跑完每个套件会往tests/reports/写一份带时间戳的 JSON 报告进程以0/1退出码告诉 CI 是否全绿。 CI 如何把它们串成一条流水线在 README.md 的 Development 一节可以看到CI 是按顺序跑一长串闸任何一环挂掉都会阻断ESLint → 类型检查 → 单元测试 →registry:check→manifest:check→headers:check→ 严格参数审计test:params→ 搜索评测eval:check→ 运行时依赖审计。再叠加单一事实来源机制src/tools/catalog/capabilities/records/ 里的能力记录是唯一源头所有*.generated.*文件、插件的MCP/Generated/分片、乃至动作参考文档都由它生成——生成物一旦漂移registry:check/manifest:check就会失败。这让文档、schema、测试三者始终一致而不是靠人肉同步。 小结为什么要这五层前四层快而便宜能在无引擎的机器上高频跑覆盖行为、契约、参数一致性、搜索质量第五层贵而真用真实编辑器兜底端到端正确性CI 串联 单一事实来源保证任何改动都无法悄悄破坏文档、schema 或测试。对普通用户这套体系换来的是一句自然语言得到的是可预期、可回归、不会误伤资产的稳定体验。若你想亲手跑起来从npm run test:unit与npm run eval:check入手最省事想要完整体感再上npm test打真实编辑器。想深入某一层可直接看 docs/testing-guide.md 与 tests/AGENTS.md 的命令表C 插件侧的架构契约见 plugins/EngineWire/Source/EngineWire/Private/Tests/。赞分享【免费下载链接】Unreal_mcpA comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine through the native C Automation Bridge plugin. Built with TypeScript and C.项目地址https://gitcode.com/gh_mirrors/un/Unreal_mcp点击查看免费下载相关推荐CANN/cannbot-skills工具编写手册Tool Authoring Playbook Use this playbook when adding or modifying a repositoryAI 技能AI 插件AI 评测人工智能CANNAscendbbot代码质量保证单元测试与集成测试实践bbot代码质量保证单元测试与集成测试实践 测试框架概览 bbot项目采用pytest作为核心测试框架构建了全面的质量保障体系。测试代码主要集中在 bbot网络安全渗透测试漏洞扫描应用安全今日热榜单元测试与集成测试如何构建完善的测试体系确保代码质量今日热榜单元测试与集成测试如何构建完善的测试体系确保代码质量 在当今信息爆炸的时代今日热榜作为一款聚合各大热门网站头条的Go语言项目其稳定性和可靠性至关重后端网页爬虫上一篇终极指南PanSou插件开发框架BaseAsyncPlugin核心实现原理与实战应用下一篇探索MBROLA一款高效的开源语音合成工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站