ホームページ  >  記事  >  PHPフレームワーク  >  Laravel Scout アレイドライバーについてご存知ですか?

Laravel Scout アレイドライバーについてご存知ですか?

藏色散人
藏色散人転載
2020-07-23 14:59:022667ブラウズ

次のチュートリアルコラムでは、テスト用のLaravel Scout配列ドライバーについて紹介します。

Laravel Scout 配列ドライバーは @Sti3bas によって提供されるパッケージで、Laravel Scout の検索テストをより便利にします:

Laravel Scout アレイドライバーについてご存知ですか?

This package
array

ドライバーを Laravel Scout に追加し、検索に関連する機能のテストを容易にするカスタム PHPUnit アサーションを提供します。

パッケージには、検索をより便利にするためのメソッドを提供する 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 に記載されています。私の意見では、最も優れているのは、モデルの検索インデックス レコードを偽装できる

fakeRecord

メソッドです。 <pre class="brush:php;toolbar:false">$user = factory(User::class)-&gt;create([ &amp;#39;id&amp;#39; =&gt; 123, &amp;#39;name&amp;#39; =&gt; &amp;#39;Peter&amp;#39;, &amp;#39;email&amp;#39; =&gt; &amp;#39;peter@example.com&amp;#39;, ]); Search::fakeRecord($user, [ &amp;#39;id&amp;#39; =&gt; 123, &amp;#39;name&amp;#39; =&gt; &amp;#39;John&amp;#39;, ], false); $record = User::search()-&gt;where(&amp;#39;id&amp;#39;, 123)-&gt;raw()[&amp;#39;hits&amp;#39;][0]; $this-&gt;assertEquals(&amp;#39;Peter&amp;#39;, $record[&amp;#39;name&amp;#39;]); // fails $this-&gt;assertEquals(&amp;#39;John&amp;#39;, $record[&amp;#39;name&amp;#39;]); // passes $this-&gt;assertTrue(!isset($record[&amp;#39;email&amp;#39;])); // passes</pre> このパッケージの詳細については、Sti3bas/laravel-scout-array-driver で確認でき、完全なインストール手順を入手し、GitHub でソース コードを参照できます。

元のアドレス: https://laravel-news.com/laravel-scout-a...

翻訳アドレス: https://learnku.com/laravel/t /33376

以上がLaravel Scout アレイドライバーについてご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。