![]()
AI写代码能跑通的那一刻,程序员的心跳会漏半拍——不是因为激动,是因为不知道它什么时候会炸。
你让Claude Code写个Stripe支付集成,它5分钟交出漂亮代码:类型完整、错误处理到位、结构清晰。然后它停了。没有Stripe密钥,没有测试环境,没有真实响应。你拿到的是一座纸城堡,风一吹就散。
开发者Sean Li在博客里吐槽这个场景「一天能上演十几次」。他的解决方案是mockd——一个带18个MCP工具的内置模拟服务器。
MCP是什么?简单说,它是AI的「手」
Model Context Protocol(模型上下文协议)去年由Anthropic开源,现在已成事实标准。以前AI只能读文件、写文件,像被蒙住眼睛的打字员。MCP让它能调用外部工具、操作服务、管理基础设施。
mockd的玩法更激进:它不给你模拟服务器,它让AI自己造一个。
配置极简。Claude Code里加一段JSON,Cursor的Settings → MCP Servers里贴同样的配置。GitHub Copilot、Windsurf、JetBrains AI——任何支持MCP的agent都能接。mockd mcp命令走标准stdio,零API密钥,本地开箱即用。
一个细节被多数人忽略:mockd mcp会自动拉起后台守护进程。
你不用先跑mockd start,agent连上来,它自己在4280(模拟服务端口)和4290(管理API)启动。加--data-dir还能让不同代码库互相隔离。
![]()
Li举了个实战场景。你给agent下指令:「做个支付服务,对接Stripe,要支持创建订单、处理webhook、失败退款。」
传统流程里,agent直接开始写业务代码,边写边猜Stripe返回什么格式。有了mockd,它的第一步是调用manage_mock,把需要的Stripe端点全造出来——/v1/charges、/v1/refunds、/v1/webhooks,响应结构按真实Stripe文档配。
然后才是写代码。写一段,用send_request往模拟服务器发请求,看日志验证参数对不对,调verify_call_counts确认调用次数。想测失败场景?inject_failure直接注入超时、500错误、限流响应。
这改变了什么?测试左移到了对话层
以前「写代码→搭环境→跑测试」是三段式流水线,mockd把它压进同一次对话。agent不再只是代码生成器,它成了全栈开发者——需求理解、接口设计、测试验证、故障注入,闭环在几分钟内跑完。
Li的博客没提数据,但MCP生态的扩张速度能侧面印证。Cursor 2024年10月接入MCP,三个月内社区工具从几十个涨到800+。Claude Code今年把MCP列为核心能力,GitHub Copilot也在跟进。
mockd的18个工具覆盖完整生命周期:create_mock造端点、update_mock改配置、delete_mock清理、list_mocks查看现状、send_request发测试流量、get_logs捞请求日志、verify_call_counts断言调用次数、inject_failure注入故障、reset_mocks一键重置。还有管理类工具处理数据持久化、端口配置、守护进程状态。
每个工具都是原子操作,agent可以组合编排。比如「先造三个端点,发100个并发请求,验证QPS不超过50时返回200,超过时返回429」——这段需求用自然语言扔给agent,它能自己翻译成工具调用链。
这背后是LLM工具使用能力的质变。
![]()
早期GPT-4调用函数还需要精心设计的prompt,现在Claude 3.5 Sonnet、GPT-4o、Gemini 1.5 Pro都能在对话中自主决策何时调工具、传什么参数。MCP把「工具」标准化成可插拔模块,mockd则是第一个把「测试基础设施」塞进这个插槽的。
有个对比很扎心。传统TDD(测试驱动开发)喊了二十年,落地率不到15%(JetBrains 2023开发者调查)。不是开发者不想写测试,是环境搭建成本太高。mockd把成本压到接近零——agent替你搭环境,你只需要描述需求。
Li在文末埋了个钩子:mockd目前只支持HTTP模拟,gRPC和GraphQL在roadmap上。但HTTP覆盖了80%的集成场景,Stripe、Twilio、SendGrid、AWS SES这些开发者天天打交道的服务,全是REST。
更隐秘的野心在架构里。mockd的daemon模式意味着它可以长期驻留,多个agent共享同一套模拟环境。想象一个场景:前端agent调后端agent的模拟接口,后端agent同时调支付服务的模拟端点——整个开发链路可以在无真实依赖的情况下跑通。
这接近微服务开发的圣杯:环境即代码,需求即测试。
当然,坑还在。模拟再真也不是生产环境,Stripe的rate limit行为、Twilio的异步回调延迟、AWS的region故障——这些真实世界的混沌,mockd还注入不了。Li自己也说,这是「开发阶段的脚手架」,不是「生产环境的替身」。
但脚手架的价值被低估了。React当年被骂「只是View层」,现在统治前端十年。Jest被嘲「mock太多测了个寂寞」,现在成了JS测试标配。mockd的18个工具,可能正在定义AI原生开发的工作流基线。
配置代码已经开源,一行命令mockd mcp就能跑。Claude Code用户反馈说,对接Stripe集成的开发时间从4小时压到40分钟——这还没算后期调试省下的时间。
如果agent能自己造测试环境,我们还需要专职的测试工程师吗?还是说,他们的工作会进化成「设计故障注入策略」「定义模拟真实度标准」——从执行者变成规则制定者?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.