es testing utils
1.0.0
単体テストは実行中のクラスターに依存すべきではなく、代わりにモックアウトする必要があります。より具体的に言うと、クライアントの応答を模擬する必要があります。 Elastic Search テスト ユーティリティを使用すると、Elasticsearch の応答を模擬することが非常に簡単になります。
コンポーザーを使用できます
composer require --dev imdhemy/es-testing-utils
エラスティックサーチ | Es テスト ユーティリティ |
---|---|
7.x | 7.x |
8.x | 8.x |
Es testing utils は流暢な Elasticsearch モック ビルダーを提供しており、次のように使用できます。
use ImdhemyEsUtilsEsMocker;// モック応答を返す ES クライアントを作成 $client = EsMocker::mock(['tagline' => 'You know, for search.'])->build();
または、一連の応答をモックすることもできます。
use ImdhemyEsUtilsEsMocker;// 作成されたクライアントは、最初のリクエストでは `$info` レスポンスを返し、// 2 番目のリクエストでは `$search` レスポンスを返します。// 注: `thenFail()` メソッドリクエスト例外をモックします。$client = EsMocker::mock($info)->then($index)->then($search)->thenFail($error)->build();// または、最初のリクエストを直接失敗することもできます:$client = EsMocker ::fail($message)->build();
以下は、テストで EsMocker を使用する方法の完全な例です。
ImdhemyEsUtilsEsMocker を使用します;$expected=['tagline' => 'ご存知のとおり、検索用です。'];$client = EsMocker::mock($expected)->build();$response = $client->info(); $body = (文字列) $response->getBody();$this->assertEquals(json_encode($expected), $body);
Faker クラスは、テスト用のランダム データを生成するための一連のメソッドを提供します。 Faker ライブラリのすべてのメソッドと、Elasticsearch データを生成するための新しいメソッドが提供されます。 Elasticsearch に関連するすべてのメソッドはes
プレフィックスで始まります。
ImdhemyEsUtilsFaker を使用します;$faker = Faker::create();$index = $faker->esIndexName(); // ランダムなインデックス名を返します $createIndex = $faker->esCreateIndex(); // インデックス作成レスポンスの本文を返します// Faker クラスを調べて、利用可能なすべてのメソッドを確認します
モハマド・エルドヘミ
すべての貢献者
ES テスト ユーティリティは、MIT ライセンスに基づいてライセンス供与されたオープンソース ソフトウェアです。