测试服务器搭建系统,Moco 0.8 发布

jopen 11年前

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

Moco在程序库设计包括两个方面,如何设置服务器和如何让服务器运行起来。

先说简单的,如何让服务器运行。最简单的选择是让用户自己启动服务器,然后,在测试结束之后关闭服务器。


我很高兴地宣布,Moco第二个正式版本0.8发布了。

Moco是什么?

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

特性变更

本次发布有一个重大的新特性,支持工程配置文件(Global Settings)。

我们可以通过它,将一个复杂的Moco配置文件分解成多个配置,然后,通过这个配置文件将它整合起来:

[
   {
       "include" : "foo.json"
   },
   {
       "include" : "bar.json"
   }
]  
(settings.json)

这个配置文件还支持几个不同的选项,让我们在开发时有更灵活的变化:

  • 支持Context:我们可以把不同的服务,部署到不同的context路径下,实现由一个Moco服务器,模拟多个服务。
  • 支持File Root:我们可以配置文件根目录,这样一来,每个具体配置文件内,所有与文件相关的路径都可以写成相对路径。
  • 支持Environment:通过指定环境变量,同一套配置在不同的环境下,由不同的部分起作用,这样就可以开发代码无需任何调整,就可以得到不同的效果。

本次还包含一些API的变化:

  • Proxy:可以将请求(包括请求的所有信息,比如内容、头灯)转发给另一个服务器,还可以通过配置failover文件,用以故障恢复,在远程 服务器失败,无法返回时,从failover文件中提取请求内容进行返回。目前failover文件是JSON格式,可以手工编辑。
  • JSONPath:请求内容按照JSONPath进行匹配。
  • with:在API上增加with,用以进行Resource到ResponseHandler的适配。
  • 移除url:用Proxy代替。
  • 移除cache:用failover代替。
  • 移除content:用with代替。

本次发布还有一个实验性的新特性:模板,用以根据请求定制应答。目前包含有

  • 请求版本:${req.version}
  • 请求方法:${req.method}
  • 查询参数:${req.queries['foo']}
  • 请求头部:${req.headers['foo']}
  • 请求内容:${req.content}

这个特性还在进一步探索中,欢迎反馈各种问题。

感谢

感谢nezhazheng,为Moco贡献JSONPath实现。


本文转载自: http://dreamhead.blogbus.com/logs/234825717.html