[英]Test Laravel Flash Session
如何在 Laravel 中測試 Flash Session? 在我的測試用例中,我有兩條路線:
Route::get('/', function () {
return view('welcome');
});
Route::get('/login', function () {
return redirect("/")->with('mysession', 1);
});
我的測試是:
public function testBasicTest()
{
$response = $this->followingRedirects()->get('/login');
$response->assertSessionHas('mysession');
$response->assertStatus(200);
}
此測試失敗並顯示錯誤: Session is missing expected key [mysession].
有誰知道如何測試這個簡單的設置?
我正在使用全新安裝的 Laravel 5.8
謝謝奧利弗
那是因為您正在檢查/
請求的會話/響應,而不是/login
本身。 在get('/login')
方法之前添加followingRedirects()
將“跳過”該請求的響應到重定向的響應,因此您基本上是在檢查:
Route::get('/', function () {
return view('welcome');
});
是否已閃爍會話密鑰。 這不是根據您的代碼在那里。
現在為了讓你的測試通過,你應該從鏈中刪除followingRedirects()
。 另請注意,您的第二個斷言將失敗,因為重定向狀態是302
而不是200
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.