聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

Moco 0.10.0发布

2014-12-04 14:35 浏览: 1258793 次 我要评论(0 条) 字号:

http://www.blogbus.com/dreamhead-logs/272040531.html

前版信息:Moco 0.9.2发布

我很高兴地宣布,Moco 0.10.0发布了。

Moco是什么?

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

变更

本次发布最大的变更是加入了Socket的支持。

除了HTTP,Socket是另一种常见的集成方式,对Socket的支持让Moco能够更为全面地对集成进行支持。创建一个Socket的服务器,可以采用socketServer:

  final SocketServer server = socketServer(12306);

与HTTP支持类似,Socket服务器也是需要设定请求以及对应的应答:

  server.request(by("foo")).response("bar");

与HTTP本身支持很多参数不同,Socket只支持与内容相关的部分,比如,text、file、xml、json、match、exist、latency、template等等。更多细节,请参见Socket API的文档

因为增加了不同的服务器类型,Moco独立服务器的启动参数也有所调整,原来的一个start已经不足以满足需要了。在最新的版本中,你可以根据服务类型记性启动,比如,启动一个Socket服务器的方式如下:

  java -jar moco-runner--standalone.jar socket -p 12306 -c foo.json 

HTTP和HTTPS服务器的启动参数分别对应着http和https,为了兼容原有版本,start依然得到保留,但不确定未来是否会长期存在下去。

这个版本增加了一个许多人要求的新特性,在Java代码中可以使用JSON配置文件。这种用法与Moco设计JSON API的初衷有很大差别,但在实际的使用中,确实有很多人这么用,所以,在这个版本里提供了一个更简洁的API,不过,这个API存在于Moco Runner包中:

  jsonHttpServer(12306, file("foo.json"));

在API方面,

  • 增加attachment API,直接对下载附件提供支持。
  • 增加了template提取器的支持,比如,如下代码就会从请求中提取内容作为应答返回值。
      server.response(template("${foo}", "foo", jsonPath("$.book.price")));

在Moco独立服务器和shell版本,增加了版本查询功能,以便对一些外部工具进行支持。

另外,由于JSON Path底层实现的升级,可能会引入一些破坏性的变化,如果你用到JSON Path API,请注意。

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

感谢

感谢Alex Soto,提供Moco服务关闭的解决方案,增强了Moco服务器的稳定性。
感谢方志刚,提供Moco的Shell版本在Cygwin下运行的支持。



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复