【发布时间】:2019-10-27 21:49:32
【问题描述】:
我有一个问题应该比较直截了当,但我发现自己陷入了一个很深的兔子洞
我想对我对 Elasticsearch 的调用进行单元测试 - 搜索请求包括 aggs。模拟响应的好方法是什么?
Elasticsearch RestHighLevelClient 非常复杂...必须处理复杂的 XContentType/XContentType 解析器调用链网络
有没有简单的方法来模拟调用?如果我们从 Kibana Devtools 调用 ES,我会收到示例 JSON 响应
private fun searchResponseFromContent(content: String): SearchResponse {
val xContentType = XContentType.JSON
val parser = xContentType.xContent().createParser(
NamedXContentRegistry.EMPTY, // this would not handle aggrgations
null,
content
)
return SearchResponse.fromXContent(parser)
}
一般来说,人们不会在他们的单元测试中测试 Elasticsearch 调用吗?模拟对 ES 的调用似乎没有任何好的解决方案
【问题讨论】:
标签: unit-testing elasticsearch