测试服务器搭建系统,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实现。