你知道Laravel Scout陣列驅動程序嗎?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

下面由laravel教程欄目給大家介紹用于測試的 Laravel Scout 陣列驅動程序,希望對需要的朋友有所幫助!

你知道Laravel Scout陣列驅動程序嗎?

Laravel Scout 陣列驅動是由 @Sti3bas 提供的一個包,它讓 Laravel Scout 搜索測試變得更加方便:

這個包為 Laravel Scout 增加了一個 Array 驅動,并提供了自定義的 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 方法,該方法允許你偽造模型的搜索索引記錄。

$user?=?factory(User::class)->create([ ????'id'?=>?123, ????'name'?=>?'Peter', ????'email'?=>?'peter@example.com', ]);  Search::fakeRecord($user,?[ ????'id'?=>?123, ????'name'?=>?'John', ],?false);  $record?=?User::search()->where('id',?123)->raw()['hits'][0];  $this->assertEquals('Peter',?$record['name']);?//?fails $this->assertEquals('John',?$record['name']);?//?passes $this->assertTrue(!isset($record['email']));?//?passes

您可以在Sti3bas / laravel-scout-array-driver上了解有關此軟件包的更多信息,獲取完整的安裝說明以及在github上 查看源代碼。

原文地址:https://laravel-news.com/laravel-scout-a…

譯文地址:https://learnku.com/laravel/t/33376

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享