Phpunit覆盖.env中的变量

时间:2016-11-29 07:02:52

标签: php phpunit automated-tests laravel-5.1

在laravel 5.1项目的.env文件中,我已将APP_ENV设置为本地,但是当我从终端运行测试时

vendor/bin/phpunit

调试和死亡

dd(env(APP_ENV));

给了我“测试”。

我对此没有很好的研究,尝试使用以下方法 -

  • 尝试设置APP_ENV =本地流水线供应商/ bin / phpunit形成cli。
  • 尝试在phpunit.xml文件<env name="APP_ENV" value="local" override="true">中添加env变量(但似乎覆盖了剂量)
  • 添加.env.testing文件并设置APP_ENV = local
  • 应用程序自动加载$app->loadEnvironmentFrom('.env.testing'); 的testCase.php文件中的

上述方法都没有给我预期的结果,而是每次运行测试时都将APP_ENV作为“测试”。

无法追踪phpunit设置此变量的位置。 请帮忙!

1 个答案:

答案 0 :(得分:-1)

在vendor / laravel / framework / src / Illuminate / Foundation / Testing / TestCase.php中搜索putenv('APP_ENV = testing');尝试将此更改为本地。 这应该适合你,虽然这是不可取的。