gpt4 book ai didi

elasticsearch - 模拟 Elasticsearch 嵌套桶

转载 作者:行者123 更新时间:2023-12-03 02:21:13 24 4
gpt4 key购买 nike

我正在尝试使用以下结构模拟 elasticsearch 嵌套聚合对象。我按照附加链接中的描述做了一些事情,但不能对嵌套对象执行此操作:
Mock Elastic Search response in.Net
这是我一直在模拟的真正的弹性物体。

var obj= new AggregationDictionary
{
{
"key1",new TermsAggregation("key1")
{
Field="1234",
Aggregations = new AggregationDictionary
{
"top",new TopHitsAggregation("top")
{
Size =10
}
}
}
}
}
};

最佳答案

在尝试模拟 Elasticsearch 对象后,我想出了以下解决方案:

  • 使用 in memory connection
    Elasticsearch(使用嵌套客户端)文档将教您如何提前“注入(inject)”您想要的响应。现在,您可以将响应映射到您的类型安全对象,而无需创建与 Elasticsearch 的连接。我建议在集成测试而不是单元测试中使用这种技术。
  • 对于单元测试,最好的选择是使用接口(interface)抽象您的服务层,并完全忽略 Elasticsearch 引擎。
    只需用您的模拟对象覆盖服务方法。我使用“最小起订量”并响应您想要的任何内容,例如:
    mockObj= new Mock<IClientRepository>()
    mockObj.Setup(x => x.GetData()).Return("put your response here");
  • 关于elasticsearch - 模拟 Elasticsearch 嵌套桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62327174/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com