内容简介:我很高兴地宣布,Moco 1.3.0正式发布了。 Moco是什么? Moco 是一个可以轻松搭建模拟服务器的框架/工具/程序库。 主要能力 Moco 可以方便地支持 HTTP 模拟服务器的搭建。 根据需要,匹配响应的请求,返回相应的应...
我很高兴地宣布,Moco 1.3.0正式发布了。
Moco是什么?
Moco 是一个可以轻松搭建模拟服务器的框架/工具/程序库。
主要能力
Moco 可以方便地支持 HTTP 模拟服务器的搭建。
- 根据需要,匹配响应的请求,返回相应的应答,配置诸如 HTTP 版本、内容和 HTTP 头等信息。
- 模拟服务器的特殊场景,比如,响应慢。
- 将转发请求至远程服务器,隔离不稳定的服务器。
- 接收请求后异步调用,模拟多级 HTTP 请求的场景。
- 用于单元测试场景,校验请求状况,进行细节验证。
- 提供文件挂载能力,给前端开发提供便利。
更详细的 API,请参考 API。
更多的使用方式,请参考 用法。
版本变更
在 1.3.0 版本中,新增了下面几个 API:
conditional
支持用 Java 编写自己的请求匹配器struct
支持 JSON 和 XML 请求按结构而非内容进行匹配- 在模板函数
random
增加了对于起止范围的支持
此外,还有一些小的修改:
- 修复了在运行时修改配置文件错误导致无法加载的问题。
- 在日志中增加了查询参数
- 让
xml
返回 ContentResource 以便支持struct
API 的统一处理,这是一个破坏性的修改,如果在 Java 代码中使用了xml
请注意。
conditional
虽然 Moco 提供了很多请求匹配器(RequestMatcher),但依然无法满足所有的场景。在这个版本中,Moco 提供了一个 conditional
API,让使用者可以编写自己请求匹配逻辑:
server
.request(
conditional(request ->
request.getContent().toString().equals("foo")
))
.response("foo");
struct
在一些场景中,请求只关心请求的结构是否匹配,而不关心其内容,Moco 在这个版本中提供了 struct
API 根据请求内容的结构进行匹配,在这个版本中支持了 JSON 和 XML 这两种有结构的内容。
JSON
对 JSON 结构进行匹配,如下所示:
- Java API
server
.request(struct(json("{\\\\\\\\"foo\\\\\\\\":1}"))
.response("response_for_json_struct");
- JSON API
[
{
"request": {
"struct": {
"json": {
"foo": 1
}
}
},
"response": {
"text": "response_for_json_struct"
}
}
]
对于上面的请求匹配设置,我们只要发结构与其一致的请求既可,而具体内容则不重要,比如:
{
"foo": 2
}
XML
对 XML 结构进行匹配,如下所示:
- Java API
server
.request(struct(
xml("1")))
.response("response_for_xml_struct_request");
- JSON API
[
{
"request": {
"struct": {
"xml": "1"
}
},
"response": {
"text": "response_for_xml_struct_request"
}
}
]
对于上面的请求匹配设置,我们只要发结构与其一致的请求既可,而具体内容则不重要,比如:
<request>
<parameters>
<id>2</id>
</parameters>
</request>
random 增强
random
是在 1.0.0 版本增加的一个模板函数,在 1.3.0 中,该函数进行了一些增强,可以支持设置随机值的范围。
在下面这个示例中,随机数会在 99 到 100 之间:
- Java API
server
.request(by(uri("/template")))
.response(template("${random(99, 100)}"));
- JSON API
{
"request": {
"uri": "/template"
},
"response": {
"text": {
"template": "${random(99, 100)}"
}
}
}
欢迎使用 1.3.0 版本,体验 Moco 最新的功能!
以上所述就是小编给大家介绍的《Moco 1.3.0 发布,模拟服务器》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Squid 3.5.27 发布,代理服务器
- Rust 语言服务器 Alpha 版本发布
- Moco 1.0.0 发布,模拟服务器
- Moco 1.1.0 发布,模拟服务器
- OTP-19.3 发布,Erlang 应用服务器
- OTP 19.2 发布,Erlang 应用服务器
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。