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