如果您需要将环境设置为特定环境,例如登台,您可以通过更改配置值app_env来覆盖环境

config(['app.env' => 'staging']);

然后在 config(‘app.env’) 上执行 dd 将返回您刚刚设置的环境。

我还没有找到用app()->environment()设置环境的方法, 所以我建议使用这个in_array 函数并传入config(‘app.env’) 然后专门定义环境。 

in_array(config('app.env'), ['local', 'staging'])

例如,假设您在命令中有这个:

if (! in_array(config('app.env'), ['local', 'staging'])) {
    $this->error(‘Will only run on local and staging environments’);
    return true;
}

在环境设置为生产时测试此运行

test(‘cannot run on production’, function () {

    config(['app.env' => 'production']);

    $this->artisan('db:production-sync')
        ->expectsOutput(DB sync will only run on local and staging environments’)
        ->assertExitCode(true);
});

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。