应用程序() - >环境()不使用由config()设置的值
问题描述:
我正在为调用app()->environment()
的函数编写单元测试。 phpunit.xml文件将环境设置为testing
。我也想在其他环境中测试该功能。应用程序() - >环境()不使用由config()设置的值
我已经试过:
config('app.env', 'prod')
config('env', 'prod')
$_ENV['app.env'] = 'prod'
$_ENV['env'] = 'prod'
我还包括管弦乐/测试平台封装,使用这样的:
protected function getEnvironmentSetUp($app)
{
//Both of the following
$app['config']->set('app.env', 'prod');
$app['config']->set('env', 'prod');
}
这些都没有改变app()->environment()
的输出。
我错过了什么吗?
答
我最终通过查看->environment()
命令的代码来弄清楚这一点。它采用$this['env']
的比较所以在我的测试中,我写道:
app()['env'] = 'prod';
这似乎是我能得到它的工作的唯一途径。
您已经指定了Laravel和Lumen。你使用哪一个,哪个版本?他们在内部工作方式不同这听起来像是一个较旧的Laravel安装或缓存配置。 – sisve
@sisve它是Lumen 5.5应用程序的一个包。我从软件包目录中运行测试。 orchestral/testbench是让我执行'app() - > environment()'的工具。我不确定哪些配置可以被缓存。 – Ethan22