关闭Redis以便在Laravel进行测试

时间:2017-10-06 07:14:38

标签: php laravel configuration redis

我想在测试时关闭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
       }
     }
  }

我可以在配置中更改一些值,但显然没有帮助 我该怎么办?

1 个答案:

答案 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特征