测试她在Laravel中的打算方法中使用的会话设置

时间:2018-12-20 20:26:58

标签: laravel

Laravel具有intended()方法,用于在登录后重定向用户。它使用会话密钥url.intendedas seen here。但是,在进行测试时,它似乎不起作用。我将会话设置为:session(['url.intended' => url()->previous()]);

然后这就是我测试会话的方式:

$this->app['session']->setPreviousUrl('some-url');

$response = $this->get(route('login'));
$response->assertSuccessful();
$response->assertSessionHas('url', 'some-url'); //fails
$response->assertSessionHas(['url' => ['intended' => 'some-url']]);  //fails

当不使用点符号作为键时,它将起作用。意思是,我可以断言存在键urlIntended的会话。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我刚刚意识到使用intended()方法实际上会返回并删除会话,因为它使用的是 pull()

以下是更具体的用法:$path = $this->session->pull('url.intended', $default);