I have to unit test a function that have a elastic search query and need to mock 2 responses for it. I am able to mock single response using below code .
var responseBytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(JsonObject));
var connection = new InMemoryConnection(responseBytes, 200);
var connectionPool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));
var settings = new ConnectionSettings(connectionPool, connection).DefaultIndex("TestElasticProject");
ElasticSearchService.GetInstance().Init(settings);
我有两个模拟响应,但无法在ConnectingSettings中配置它 .
我需要类似的东西
var responseBytes1 = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(JsonObject));
var connection1 = new InMemoryConnection(responseBytes1, 200);
var responseBytes2 = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(JsonObject));
var connection2 = new InMemoryConnection(responseBytes2, 200);
弹性搜索是否可以将2个responseByte分配到一起?因为在GITHUB中的ElasticSearch-Net代码中我无法找到任何实现 .
如果它不可能,那么我应该每1个函数创建1个弹性搜索查询,以便可以进行单元测试吗?