私はElasticSearch(C#でNest 1.4.2を使用)を使用してテストを追加しようとしていますが、InMemoryConnectionを使用したいと思います。InMemoryConnectionを使用してElasticSearchをテストする
私は、クエリが成功したが、私はちょうどインデックス付き文書を見つけることができません私の問題の煮詰め例
using System;
using Elasticsearch.Net.Connection;
using FluentAssertions;
using Nest;
using NUnit.Framework;
namespace NestTest
{
public class InMemoryConnections
{
public class TestThing
{
public string Stuff { get; }
public TestThing(string stuff)
{
Stuff = stuff;
}
}
[Test]
public void CanBeQueried()
{
var connectionSettings = new ConnectionSettings(new Uri("http://foo.test"), "default_index");
var c = new ElasticClient(connectionSettings, new InMemoryConnection(connectionSettings));
c.Index(new TestThing("peter rabbit"));
var result = c.Search<TestThing>(sd => sd);
result.ConnectionStatus.Success.Should().BeTrue();
}
}
}
としてこの単純なNUnitのテストケースを作成しました...
の場合私は、NESTバージョン2.3.3および新しい構文に更新
[Test]
public void CanBeQueried()
{
var connectionPool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));
var settings = new ConnectionSettings(connectionPool, new InMemoryConnection());
settings.DefaultIndex("default");
var c = new ElasticClient(settings);
c.Index(new TestThing("peter rabbit"));
var result = c.Search<TestThing>(sd => sd);
result.CallDetails.Success.Should().BeTrue();
result.Documents.Single().Stuff.Should().Be("peter rabbit");
}
それは...クエリが成功したと報告され、すなわち、同じように失敗したが、0文書
を返します。
ああ、ありがとう!私は何かが欠けているに違いないことを知っていた。私は壁をぶらつくので、私はこれを調べていた。私は新しい質問を開く必要があると思う:) –