2017-10-06 22 views
0

我想在测试时关闭Redis。关闭Redis以在Laravel中进行测试

现在我被困在这里: 变化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 
     } 
    } 
    } 

我可以改变一些值config,但显然没有帮助) 我该怎么办?

回答

0

如果您想在测试中使用<env name="REDIS_HOST" value="0"/>在phpunit.xml中更改redis主机。

如果你想运行在独立的数据库单元测试我会建议你配置inmemory sqlite的

的config/database.php中

'sqlite' => [ 
     'driver' => 'sqlite', 
     'database' => ':memory:', 
     'prefix' => '', 
    ] 

并更改phpunit.xml到<env name="DB_CONNECTION" value="sqlite"/>

数据库连接

然后不要忘记在测试中使用DatabaseMigrations特质