次のチュートリアルコラムでは、テスト用のLaravel Scout配列ドライバーについて紹介します。
Laravel Scout 配列ドライバーは @Sti3bas によって提供されるパッケージで、Laravel Scout の検索テストをより便利にします:This package
array
ファサードが付属しています。
パッケージには、検索をより便利にするためのメソッドを提供する
Search
$user = factory(User::class)->create([ 'name' => 'Oliver', ]); $user2 = User::withoutSyncingToSearch(function () { return factory(User::class)->create([ 'name' => 'John', ]); }); Search::assertContains($user) // passes ->assertContains($user2) // fails ->assertContains($user, function ($record) { // passes return $record['name'] === 'Oliver'; }) ->assertContains($user, function ($record) { // fails return $record['name'] === 'John'; }) ->assertContains($user2, function ($record) { // fails return $record['name'] === 'John'; });
Search
ファサードはたくさんあります。メソッドは Readme に記載されています。私の意見では、最も優れているのは、モデルの検索インデックス レコードを偽装できる
メソッドです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$user = factory(User::class)->create([
&#39;id&#39; => 123,
&#39;name&#39; => &#39;Peter&#39;,
&#39;email&#39; => &#39;peter@example.com&#39;,
]);
Search::fakeRecord($user, [
&#39;id&#39; => 123,
&#39;name&#39; => &#39;John&#39;,
], false);
$record = User::search()->where(&#39;id&#39;, 123)->raw()[&#39;hits&#39;][0];
$this->assertEquals(&#39;Peter&#39;, $record[&#39;name&#39;]); // fails
$this->assertEquals(&#39;John&#39;, $record[&#39;name&#39;]); // passes
$this->assertTrue(!isset($record[&#39;email&#39;])); // passes</pre><div class="contentsignin">ログイン後にコピー</div></div> このパッケージの詳細については、<code>Sti3bas/laravel-scout-array-driver
で確認でき、完全なインストール手順を入手し、GitHub でソース コードを参照できます。
元のアドレス: https://laravel-news.com/laravel-scout-a...
以上がLaravel Scout アレイドライバーについてご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。