我该如何在laravel 4中使用参数对立面进行模拟?例如,我正在尝试测试我的用户控制器并使用“登录”方法。
我的控制器方法
public function login(){
$this->beforeFilter('guest');
$creds = array(
'email' => Input::get('email'),
'password' => Input::get('password'),
);
if(Auth::attempt($creds, true)){
return "successful";
} else {
return Redirect::to('user/login')->with('error', true);
}
}
重定向测试不起作用
public function testPostLogin(){
Redirect::shouldReceive('to')->once()->with('error', true);
$response = $this->action('POST', 'UserController@login');
$this->assertRedirectedTo('user/login');
}
我收到以下异常。我不知道如何将'user / login'参数注入到Redirect模拟中
Mockery \ Exception \ NoMatchingExpectationException:找不到与Illuminate \ Routing \ Redirector :: to(“ user / login”)匹配的处理程序
最佳答案
从理论上讲,您可以模拟Auth
类。
试试这个:
Auth::shouldReceive('attempt')->once()->andReturn(true);
关于php - 找不到与Illuminate\Routing\Redirector::to(“用户/登录”)匹配的处理程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15855910/