我想在测试时关闭Redis。
现在我被困在这里:
像这样更改phpunit.xml
<env name="APP_ENV" value="testing"/>
在我的控制器中,我有这个字符串RedisListener::setupConnection('production');
最后一个是RedistListener:
class RedisListener
{
public static function setupConnection() {
if (env('APP_ENV') != 'testing') {
return config(['database.redis.default.host' => 'false']); //Don't know what I should write here
}
}
}
我可以在配置中更改一些值,但显然没有帮助 我该怎么办?
答案 0 :(得分:1)
如果你想在phpunit.xml中测试使用<env name="REDIS_HOST" value="0"/>
时更改redis主机。
如果您想在单独的数据库上运行单元测试,我建议您配置inmemory sqlite
配置/ database.php中
'sqlite' => [
'driver' => 'sqlite',
'database' => ':memory:',
'prefix' => '',
]
并将phpunit.xml中的数据库连接更改为<env name="DB_CONNECTION" value="sqlite"/>
然后不要忘记在测试中使用DatabaseMigrations特征