Skip to content

josiasmontag/laravel-redis-mock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Redis Mock

Build Status Total Downloads Latest Stable Version License

This Laravel package provides a Redis mock for your tests. It depends on Redis PHP Mock.

This makes it possible to run your tests without any local Redis server running!

Installation & Usage

To get started, use Composer to add the package to your project's dependencies:

composer require josiasmontag/laravel-redis-mock

This package adds a new mock Redis client.

In config/database.php, make the Redis client configurable via environment variable:

    'redis' => [

        'client' => env('REDIS_CLIENT', 'predis'),

        ...
        
    ],

Now, you can switch to the mock client in your .env.testing:

REDIS_CLIENT=mock

Alternatively, you can switch to the mock in your phpunit.xml:

<env name="REDIS_CLIENT" value="mock"/>

Done! Your tests should work without a local redis server running.

Package Development

If you are using Redis as part of a Laravel package, you should already have a TestCase.php that is extending Orchestra\Testbench\Testcase.

Within this file you should add RedisMockServiceProvider to getPackageProviders method e.g.

    /**
     * @param $app
     * @return string[]
     */
    protected function getPackageProviders($app): array
    {
        return [
            YourPackageServiceProvider::class,
            \Lunaweb\RedisMock\Providers\RedisMockServiceProvider::class
        ];
    }