vio*_*ium 4 session phpunit laravel-4
我在Laravel 4中测试控制器时遇到问题.
我有下一个代码:
public function getRemind()
{
$status = \Session::get('status');
$error = \Session::get('error');
$email = \Session::get('email');
return \View::make('admin/reminds/remind_form', compact('status', 'error', 'email'));
}
Run Code Online (Sandbox Code Playgroud)
我想测试控制器在视图中传递的正确数据:
public function testGetRemind()
{
\Session::set('status', 'status');
\Session::set('error', 'error');
\Session::set('email', 'email');
$response = $this->action('GET', 'Admin\RemindersController@getRemind');
$this->assertTrue($response->isOk(), 'Get remind action is not ok');
$this->assertViewHas('status', 'status');
$this->assertViewHas('error', 'error');
$this->assertViewHas('email', 'email');
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
另外我不能模拟Session-class,因为框架不允许 - 当我尝试这样做时会有很多错误.
And*_*eas 10
Session::start()在测试开始时致电.在测试中调用URL时,如果尚未启动会话,则启动会话,擦除放入其中的任何现有数据.
从v4.1.23开始,你也可以这样做$this->session($arrayOfSessionData),它为你处理会话的开始.
| 归档时间: |
|
| 查看次数: |
3150 次 |
| 最近记录: |