• 2013-07-21

    Moco 0.8发布

    Tag:moco

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/234825717.html

    前版信息:Moco 0.7发布

    我很高兴地宣布,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实现。

    分享到:
    引用地址: