Maison  >  Article  >  cadre php  >  Connaissez-vous le pilote de tableau Laravel Scout ?

Connaissez-vous le pilote de tableau Laravel Scout ?

藏色散人
藏色散人avant
2020-07-23 14:59:022665parcourir
Ce qui suit est présenté par

Laravel La colonne du didacticiel présentera le pilote de tableau scout Laravel à tester pour tout le monde. J'espère qu'il sera utile aux amis dans le besoin. !

Connaissez-vous le pilote de tableau Laravel Scout ?

Le pilote de tableau Laravel Scout est un package fourni par @Sti3bas, qui rend les tests de recherche Laravel Scout plus pratiques :


Ce package ajoute un pilote

pour Laravel Scout et fournit des assertions PHPUnit personnalisées pour faciliter les tests des fonctionnalités de recherche associées. array

Le package est livré avec une

façade, qui fournit des méthodes pour faciliter la recherche : 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';
    });

La façade comporte un grand nombre de méthodes que vous devriez lire dans mon fichier Lisez-moi. . La méthode la plus remarquable à mon avis est la méthode Search, qui vous permet de falsifier les enregistrements de l'index de recherche du modèle. 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

Vous pouvez en savoir plus sur ce package sur

, obtenir des instructions d'installation complètes et consulter le code source sur GitHub. Sti3bas / laravel-scout-array-driver

Adresse originale : https://laravel-news.com/laravel-scout-a...

Adresse de traduction : https://learnku.com/laravel/t /33376

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer