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!
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.
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
];
}