Laravel-$ app-> loadEnvironmentFrom('。env.testing')方法不起作用

时间:2019-01-29 16:14:51

标签: php laravel

所以我试图将我的环境加载到单元测试中,以避免在Laravel 5.8的phpunit.xml文件中定义api键。这是我的问题:

   public function createApplication()
{
    $app = require __DIR__.'/../bootstrap/app.php';
    if (file_exists(dirname(__DIR__) . '/.env.testing')) {
        (new \Dotenv\Dotenv(dirname(__DIR__), '.env.testing'))->load();
    }

    $app->make(Kernel::class)->bootstrap();

    return $app;
} 

以上工作和env var都正确加载。但是,这是旧的处理方式,所有新帖子都建议这样做:

       public function createApplication()
{
    $app = require __DIR__.'/../bootstrap/app.php';
    $app->loadEnvironmentFrom('.env.testing');    
    $app->make(Kernel::class)->bootstrap();
    return $app;
} 

有人对“为什么”加载env为什么不起作用有任何线索吗? $ app-> environmentFilePath()显示正在从正确的位置加载环境。

1 个答案:

答案 0 :(得分:0)

出于单元测试目的,Laravel 已经透明地处理现有的 .env.testing 文件。

https://laravel.com/docs/5.8/testing#environment