根据测试方法更改配置值
我有一个系统的应用程序来验证帐户(注册 - >获取电子邮件链接激活 - >帐户验证)。 验证流程是可选的,可以用配置值关闭:
// config/auth.php
return [
// ...
'enable_verification' => true
];
我想测试注册控制器:
我的测试方法:
public function test_UserProperlyCreated_WithVerificationDisabled()
{
$this->app['config']->set('auth.verification.enabled', false);
$this
->visit(route('frontend.auth.register.form'))
->type('Test', 'name')
->type('test@example.com', 'email')
->type('123123', 'password')
->type('123123', 'password_confirmation')
->press('Register');
$this
->seePageIs('/')
->see(trans('auth.registration.complete'));
}
public function test_UserProperlyCreated_WithVerificationEnabled()
{
$this->app['config']->set('auth.verification.enabled', true);
$this
->visit(route('frontend.auth.register.form'))
->type('Test', 'name')
->type('test@example.com', 'email')
->type('123123', 'password')
->type('123123', 'password_confirmation')
->press('Register');
$this
->seePageIs('/')
->see(trans('auth.registration.needs_verification'));
}
在调试的时候,我注意到当控制器内部的配置值总是被设置为配置文件中的值时,无论我使用$this->app['config']->set...
我对用户存储库本身进行了其他测试,以检查它是否在验证处于开启或关闭状态时均可用。 那里的测试表现如预期。
任何想法为什么它失败的控制器,以及如何解决这个问题?
如果我理解你的问题 - 你在寻找“如何设置配置参数”,那么你可以使用Config::set($key, $value)