gpt4 book ai didi

c# - NEST 2.0和ElasticSearch 2.0无法模拟 “return all”查询

转载 作者:行者123 更新时间:2023-12-02 23:31:40 24 4
gpt4 key购买 nike

这是我要模拟的查询:

  var readRecords = elastic.Search<GroupRecord>(s => s
.Index(indexName)
.Query(q => q.
QueryString(qs => qs.Query("*"))));

这是实际的起订量
var groupResp = new Mock<ISearchResponse<GroupRecord>>();
var groupRecords = new[]
{
new GroupRecord
{
GroupName = "blablabla"
}
};

groupResp.SetupGet(x => x.Documents).Returns(groupRecords);
ElasticClientMock.Setup(ec => ec.Search(It.IsAny<Func<SearchDescriptor<GroupRecord>, SearchDescriptor<GroupRecord>>>())).Returns(groupResp.Object);

在NEST1.0和ElasticSearch1.0上,查询返回了所有(1)个文档。在新的NEST2.0和ElasticSearch2.0上,我的 readRecordsnull

你知道为什么吗?

编辑

在真实环境中(无模拟),查询将按预期返回所有文档

最佳答案

我认为问题出在安装程序中。下一行:

ElasticClientMock.Setup(ec => ec.Search(It.IsAny<Func<SearchDescriptor<GroupRecord>, SearchDescriptor<GroupRecord>>>())).Returns(groupResp.Object);

Mock正在寻找带有两个 SearchDescriptor对象的Func <>,它位于NEST1中。现在,我认为Search的签名是带有一个 SearchDescriptor和一个 ISearchRequest的Func <>。

关于c# - NEST 2.0和ElasticSearch 2.0无法模拟 “return all”查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35753392/

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