Moco 1.1.0 发布,模拟服务器

我很高兴地宣布,Moco 1.1.0正式发布了。

Moco是什么?

Moco 是一个可以轻松搭建测试服务器的框架/工具/程序库。

主要能力

Moco 可以方便地支持 HTTP 模拟服务器的搭建。

  • 根据需要,匹配响应的请求,返回相应的应答,配置诸如 HTTP 版本、内容和 HTTP 头等信息。
  • 模拟服务器的特殊场景,比如,响应慢。
  • 转发请求至远程服务器,隔离不稳定的服务器。
  • 请求后异步调用,模拟多级 HTTP 请求的场景。
  • 可以用于单元测试场景,校验请求状况,进行细节验证。
  • 挂在模拟后端服务,给前端和移动端的开发提供便利。

更详细的 API,请参考 API
更多的使用方式,请参考 用法

变更

  • Moco 支持的最小 Java 版本升级至 Java 8。
  • 增加 record 和 replay API,让 Moco 成为一个可以动态配置的服务器。

record 和 replay 基本用法如下:

下面将 /record 用以记录请求(使用 record API),/replay 用以回放请求(使用 replay API),因为它们属于同一个记录回放组(使用 group API)。

缺省情况下,回放的是在记录接口接收到的请求的内容。当你向 /record 接口发送一个 foo,然后,请求 /replay 接口时,它就会给你返回你所发送的内容,也就是 foo。

其 Java 代码配置如下:

server.request(by(uri("/record"))).response(record(group("foo")));
server.request(by(uri("/replay"))).response(replay(group("foo")));

其 JSON 配置如下:

[
  {
    "request" : {
      "uri" : "/record"
    },
    "response" : {
      "record" : "foo
    }
  },
  {
    "request" : {
      "uri" : "/replay"
    },
    "response" : {
      "record" : "foo"
    }
  }
]

record 和 replay 还支持更复杂的配置,比如:

  • 如果你在同一个 URL 上,要根据请求参数进行不同的记录与回放,可以采用 identfier API。
  • 如果你需要定制返回的内容,比如,从记录请求中获取一部分字段,组成一个新的应答,可以采用 modifier API。
  • 如果你不想每次重启服务之后,都重新调用一遍记录接口,可以采用 tape API,将请求持久化下来。

更多用法,可以参考 API 文档相关部分

更多发布相关信息,请参考 Release Notes

猜你喜欢

转载自www.oschina.net/news/113737/moco-1-1-0-released