>PHP 프레임워크 >Laravel >Laravel Scout 어레이 드라이버에 대해 알고 계시나요?

Laravel Scout 어레이 드라이버에 대해 알고 계시나요?

藏色散人
藏色散人앞으로
2020-07-23 14:59:022763검색

튜토리얼 칼럼에서 소개한 내용입니다. 필요한 친구들에게 도움이 되었으면 좋겠습니다!

Laravel Scout 배열 드라이버는 @Sti3bas에서 제공하는 패키지로, Laravel Scout 검색 테스트를 더욱 편리하게 해줍니다.

Laravel Scout 어레이 드라이버에 대해 알고 계시나요?

이 패키지는 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';
    });
array 驱动,并提供了自定义的 PHPUnit 断言,使与搜索相关的测试功能更加容易。

该软件包附带了一个Search门面,它提供的方法使搜索变得更加方便:

$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

Search 门面有大量的方法,你应该在 readme 找到。在我看来最出色的是 fakeRecord 方法,该方法允许你伪造模型的搜索索引记录。

rrreee

您可以在Sti3bas / laravel-scout-array-driver Search 파사드에는 사용해야 할 많은 방법이 있습니다. 읽어보기를 찾았습니다. 내 생각에 가장 눈에 띄는 것은 모델의 검색 색인 기록을 위조할 수 있는 fakeRecord 메서드입니다.

rrreee
Sti3bas/laravel-scout-array-driver에서 이 패키지에 대해 자세히 알아보고 전체 설치 지침을 얻고 GitHub에서 소스 코드를 볼 수 있습니다.

원본 주소 : https://laravel-news.com/laravel-scout-a...

번역 주소 : https://learnku.com/laravel/t/33376🎜🎜

위 내용은 Laravel Scout 어레이 드라이버에 대해 알고 계시나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제