You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求可通过REST API动态控制的Swagger/OpenAPI Mock服务器工具

推荐符合需求的Mock服务器工具

根据你的需求——需要一款能基于Swagger/OpenAPI规范生成Mock服务,同时支持通过REST API编程控制其行为的工具,我整理了几个非常适配的选项,它们的定位和ToxiProxy类似,但专注于API Mock场景,很适合集成到系统测试套件中:

WireMock

WireMock是一款成熟度很高的Mock服务工具,完全覆盖你的核心需求:

  • OpenAPI/Swagger支持:可直接导入规范文件自动生成对应的Mock端点
  • 命令行启动:完全匹配你期望的启动方式:
    wiremock --port 8080 --import-openapi swagger.yaml
    
  • REST Admin API:运行期间默认通过8081端口的管理API动态调整行为,比如:
    • 修改POST /v1/create的响应码为500:
      curl -X PUT http://localhost:8081/__admin/mappings/{mappingId} \
        -H "Content-Type: application/json" \
        -d '{
          "request": { "urlPattern": "/v1/create", "method": "POST" },
          "response": { "status": 500, "body": "Internal Server Error" }
        }'
      
    • 自定义响应内容、添加延迟、设置错误率等操作都能通过API完成
  • 测试集成友好:提供多语言客户端库,能轻松嵌入到你的系统测试流程中

MockServer

MockServer同样是功能强大的Mock工具,对OpenAPI的支持和动态控制能力都很出色:

  • OpenAPI导入:启动时可直接加载Swagger/OpenAPI文件生成Mock端点
  • 命令行启动:符合你预期的启动命令格式:
    mockserver -serverPort 8080 -openapiSpecification swagger.yaml
    
  • 控制API:通过默认1080端口(可配置)的REST API管理Mock行为,比如更新某个端点的响应:
    curl -X PUT http://localhost:1080/mockserver/expectation \
      -H "Content-Type: application/json" \
      -d '{
        "httpRequest": { "path": "/v1/create", "method": "POST" },
        "httpResponse": { "statusCode": 201, "body": "{\"id\": \"123\"}" }
      }'
    
  • 灵活配置:支持设置响应延迟、错误率、动态响应模板等,能满足测试场景的各种定制需求

Mountebank

Mountebank是轻量级跨平台Mock工具,以“存根(stub)”为核心概念,同样适配你的需求:

  • OpenAPI/Swagger支持:可通过导入规范自动创建对应的存根端点
  • 命令行启动:启动命令简洁直观:
    mb start --port 8080 --configfile swagger.yaml
    
  • REST控制API:通过默认2525端口的API管理存根,比如修改POST /v1/create的响应:
    curl -X POST http://localhost:2525/imposters/8080/stubs \
      -H "Content-Type: application/json" \
      -d '{
        "predicates": [{ "equals": { "path": "/v1/create", "method": "POST" } }],
        "responses": [{ "is": { "statusCode": 400, "body": "Bad Request" } }]
      }'
    
  • 多协议支持:除HTTP外还支持TCP、UDP等,扩展性很强

这些工具都能很好地替代你提到的ToxiProxy在API Mock场景的需求,你可以根据自身技术栈和具体测试需求选择最合适的一款。

内容的提问来源于stack exchange,提问作者Eldad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:34:01