LaravelPackages.net
Acme Inc.
Toggle sidebar
josiasmontag/laravel-redis-mock

This Laravel package provides a Redis mock for your tests

1.916.665
47
1.3.6
About josiasmontag/laravel-redis-mock

josiasmontag/laravel-redis-mock is a Laravel package for this laravel package provides a redis mock for your tests. It currently has 47 GitHub stars and 1.916.665 downloads on Packagist (latest version 1.3.6). Install it with composer require josiasmontag/laravel-redis-mock. Discover more Laravel packages by josiasmontag or browse all Laravel packages to compare alternatives.

Last updated

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
        ];
    }
Comments