Heim >PHP-Framework >Laravel >Kennen Sie den Laravel Scout Array-Treiber?

Kennen Sie den Laravel Scout Array-Treiber?

藏色散人
藏色散人nach vorne
2020-07-23 14:59:022782Durchsuche
Das Folgende wird von

Laravel vorgestellt. In der Tutorial-Kolumne wird der Laravel-Scout-Array-Treiber zum Testen für alle vorgestellt. Ich hoffe, dass er den bedürftigen Freunden hilfreich sein wird !

Kennen Sie den Laravel Scout Array-Treiber?

Der Laravel Scout-Array-Treiber ist ein von @Sti3bas bereitgestelltes Paket, das das Testen der Laravel Scout-Suche komfortabler macht:


Dieses Paket Fügt einen

-Treiber für Laravel Scout hinzu und stellt benutzerdefinierte PHPUnit-Assertionen bereit, um das Testen verwandter Suchfunktionen zu vereinfachen. array

Das Paket enthält eine

-Fassade, die Methoden bereitstellt, die die Suche erleichtern: 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';
    });

Die Fassade verfügt über eine große Anzahl von Methoden, die Sie finden sollten. Das Herausragende ist meiner Meinung nach die Search-Methode, mit der Sie die Suchindexdatensätze des Modells fälschen können. 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

Sie können mehr über dieses Paket unter

erfahren, vollständige Installationsanweisungen erhalten und den Quellcode auf GitHub ansehen. Sti3bas / laravel-scout-array-driver

Ursprüngliche Adresse: https://laravel-news.com/laravel-scout-a...

Übersetzungsadresse: https://learnku.com/laravel/t /33376

Das obige ist der detaillierte Inhalt vonKennen Sie den Laravel Scout Array-Treiber?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen