我该如何在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/

10-12 06:05