小编Jef*_*ers的帖子

使用MOQ进行ElasticSearch 2.0 Nest单元测试

我在使用带有Nest的ElasticSearch为搜索创建单元测试时遇到问题.

单元测试

var mockSearchResponse = new Mock<ISearchResponse<Person>>();
mockSearchResponse.Setup(x => x.Documents).Returns(_people);

var mockElasticClient = new Mock<IElasticClient>();
mockElasticClient.Setup(x => x.Search(It.IsAny<Func<SearchDescriptor<Person>, SearchRequest<Person>>>())).Returns(mockSearchResponse.Object);
var service = new PersonService(mockElasticClient.Object);
var result = service.Search(string.Empty, string.Empty);
Assert.AreEqual(2,result.Count());
Run Code Online (Sandbox Code Playgroud)

工作代码

results = ConnectionClient.Search<Person>(s => s.Index("person_index").Query(q => q.Term(t => t.Id, searchValue))).Documents;
Run Code Online (Sandbox Code Playgroud)

即使我执行以下操作,结果也始终为null

var temp = ConnectionClient.Search<Person>(s => s.Index("person_index").Query(q => q.Term(t => t.Id, searchValue)));
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

.net unit-testing elasticsearch nest

9
推荐指数
1
解决办法
3410
查看次数

标签 统计

.net ×1

elasticsearch ×1

nest ×1

unit-testing ×1