在laravel应用程序中,我使用Redis存储一些缓存(例如,要显示在首页上的项目列表)。我总是通过立面Illuminate\Support\Facades\Redis
访问Redis。
我创建了一个不同的Redis数据库进行测试(1
,而不是0
),但是我还需要在每次测试后将其重置,以使该测试永远不会从先前的测试中获取数据。
是否有一种有效的方式来创建这种行为?
我尝试使用@before
注释来实现它:
/**
* @before
*/
public function prepareForTesting() {
Redis::flushdb();
}
但是我得到了错误:Cannot use 'FLUSHDB' over clusters of connections.
有什么想法吗?
答案 0 :(得分:1)
Maybe you could use the built in artisan cache:clear
command?
Like this:
/**
* @before
*/
public function prepareForTesting() {
Artisan::call('cache:clear');
}