找不到 Illuminate\Routing\Redirector::to("user/login") 的匹配处理程序

Posted

技术标签:

【中文标题】找不到 Illuminate\\Routing\\Redirector::to("user/login") 的匹配处理程序【英文标题】:No matching handler found for Illuminate\Routing\Redirector::to("user/login")找不到 Illuminate\Routing\Redirector::to("user/login") 的匹配处理程序 【发布时间】:2013-03-29 03:59:09 【问题描述】:

如何在 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');

    

我收到以下异常。我不知道如何将“用户/登录”参数注入重定向模拟

Mockery\Exception\NoMatchingExpectationException : 找不到 Illuminate\Routing\Redirector::to("user/login") 的匹配处理程序

【问题讨论】:

【参考方案1】:

理论上你可以模拟你的 Auth 类。

试试这个:

Auth::shouldReceive('attempt')->once()->andReturn(true);

【讨论】:

以上是关于找不到 Illuminate\Routing\Redirector::to("user/login") 的匹配处理程序的主要内容,如果未能解决你的问题,请参考以下文章

java 枚举 找不到符号

bat系统找不到指定文件怎么办?

java package找不到符号

SpringBoot报找不到 dao 问题

ubuntu20.04找不到start命令

找不到名为“my”的模块。找不到名为“mycontroller”的控制器