Laravel Scout 陣列驅動是由@Sti3bas 提供的一個包,它讓Laravel Scout 搜尋測試變得更加方便:
#這個套件為Laravel Scout 增加了一個
array 驅動,並提供了自定義的PHPUnit 斷言,使與搜尋相關的測試功能更加容易。
這個軟體包附帶了一個SearchSearch
門面,它提供的方法讓搜尋變得更方便:
$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'; });
門面有大量的方法,你應該在 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://learnku.com/laravel/t /33376
以上是你知道Laravel Scout陣列驅動程式嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!