我正在测试需要用户登录的Laravel 5.1页面。我的项目使用Cartalyst / Sentinel包装进行身份验证。

我尝试了此操作,但我不知道该用户已登录。

public function testPageWithLogin()
{
    $user = Sentinel::findById(2);

    $this->actingAs($user)
         ->withSession([])
         ->visit('/page')
         ->dontSee('Whoops')
         ->dontSee('login');
}


我该怎么做才能使用户看到登录状态?

最佳答案

我忘记了使用Sentinel :: login方法登录用户。用户合法,只是未视为已登录。

这是应该完成的方式。

public function testPageWithLogin()
{
    $user = Sentinel::findById(2);
    Sentinel::login($user);

    $this->actingAs($user)
         ->withSession([])
         ->visit('/page')
         ->dontSee('Whoops')
         ->dontSee('login');
}

10-06 12:47