• 2014-07-02

    Moco 0.9.2发布

    Tag:moco

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

    前版信息:Moco 0.9.1发布

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

    Moco是什么?

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

    变更

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

    HTTPS服务器的创建即不同于普通的HTTP服务器,它使用的是httpsServer方法,除了类似于HTTP服务器的参数之外,一个很重要的参数是certificate,这里需要给出相应文件以及对应keystore密码和certificate密码。

    final HttpsCertificate certificate = certificate(pathResource("cert.jks"), "mocohttps", "mocohttps");
    final HttpsServer server = httpsServer(12306, certificate);

    独立服务器用户也可以通过命令行生成一个HTTPS服务器:

    java -jar moco-runner-<version>-standalone.jar start -p 12306 -c foo.json --https /path/to/cert.jks --cert mocohttps --keystore mocohttps

    还有一个比较重要的调整,在JSON配置中,增加了直接对JSON的支持,比如,

    {
       "request": {
           "uri": "/json_response_shortcut"
       },
       "response": {
           "json": {
               "foo" : "bar"
           }
       }
    }

    这样,给出应答就会是一个JSON对象:

    {
       "foo" : "bar"
    }

    而原来的做法如果需要返回一个JSON对象,需要大量的转义字符或是存放到文件中。

    在API方面,也做了许多调整:

    • 在Java API中,增加了HTTP版本协议类,无需以字符串的方式制定HTTP版本。
    • 在匹配方面,增加了更多的运算符,比如startsWith、endsWith、contain、exist。
    • 对于RequestHit的验证,增加了between运算符,可以判断请求次数在某个区间内。
    • 增加了多个Request Monitor的接口,以便处理遗留代码的时候,可以同时进行验证和查看日志。
    • 在模板接口上,将模板变量的类型由Object接口改成了String,这样,API用户必须确定好模板变量具体的表现形式。

    更多的细节请参考ReleaseNotes

    感谢

    感谢Michal Svab,实现了HTTPS API部分。

    分享到:
    引用地址: