【发布时间】:2018-11-21 16:44:44
【问题描述】:
我为弹性搜索编写了一堆查询,我想为它们编写一个单元测试。使用这篇文章moq an elastic connection 我能够进行一般的嘲笑。但是当我试图查看从我的查询中生成的 Json 时,我无法以任何方式得到它。
我尝试关注这篇帖子elsatic query moq,但它仅与旧版本的 Nest 相关,因为 ConnectionStatus 和 RequestInformation 方法不再适用于 ISearchResponse 对象。
我的测试如下:
[TestMethod]
public void VerifyElasticFuncJson()
{
//Arrange
var elasticService = new Mock<IElasticService>();
var elasticClient = new Mock<IElasticClient>();
var clinet = new ElasticClient();
var searchResponse = new Mock<ISearchResponse<ElasticLog>>();
elasticService.Setup(es => es.GetConnection())
.Returns(elasticClient.Object);
elasticClient.Setup(ec => ec.Search(It.IsAny<Func<SearchDescriptor<ElasticLog>,
ISearchRequest>>())).
Returns(searchResponse.Object);
//Act
var service = new ElasticCusipInfoQuery(elasticService.Object);
var FindFunc = service.MatchCusip("CusipA", HostName.GSMSIMPAPPR01,
LogType.Serilog);
var con = GetConnection();
var search = con.Search<ElasticLog>(sd => sd
.Type(LogType.Serilog)
.Index("logstash-*")
.Query(q => q
.Bool(b => b
.Must(FindFunc)
)
)
);
**HERE I want to get the JSON** and assert it look as expected**
}
还有其他方法可以实现我的要求吗?
【问题讨论】:
标签: elasticsearch nest