es testing utils
1.0.0
單元測試不應依賴正在運行的集群,而應進行模擬。更具體地說,應該模擬客戶的回應。 Elasticsearch 測試實用程式可讓您非常輕鬆地模擬 Elasticsearch 回應。
你可以使用作曲家
composer require --dev imdhemy/es-testing-utils
彈性搜尋 | ES 測試實用程式 |
---|---|
7.x | 7.x |
8.x | 8.x |
estestingutils為您提供了一個流暢的Elasticsearch類比建構器,您可以如下使用它:
use ImdhemyEsUtilsEsMocker;// 建立回傳類比回應的 ES 用戶端$client = EsMocker::mock(['tagline' => '你知道,用於搜尋。'])->build();
或者您可以模擬一系列響應:
use ImdhemyEsUtilsEsMocker;// 建立的用戶端將在第一個請求中傳回`$info` 回應,// 在第二個請求中傳回`$search` 回應,依此類推。 ` 方法模擬請求異常 $client = EsMocker::mock($info)->then($index)->then($search)->thenFail($error)->build();// 或直接失敗第一個請求:$client = EsMocker::fail($message)->build();
以下是如何在測試中使用 EsMocker 的完整範例:
use ImdhemyEsUtilsEsMocker;$expected=['tagline' => '你知道,用於搜尋。 ; $body = (string) $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 許可證授權的開源軟體