所以我正在嘗試測試我的 laravel 中間件,它將返回重定向。如果請求不滿足中間件的要求,則該請求將被重定向redirect()->route('name')我嘗試像這樣從中間件獲取返回值$response = $middleware->handle($request, function ($req) { return $req; }, 'server:summary:view:edit');\Log::info($response);是$response的實例Illuminate\Http\RedirectResponse。當我這樣做時,\Log::info($response);我得到這個結果。HTTP/1.0 302 FoundCache-Control: no-cache, privateDate: Mon, 13 Jul 2020 08:12:27 GMTLocation: https://myrandomurl.test/name<!DOCTYPE html><html> <head> <meta charset="UTF-8" /> <meta http-equiv="refresh" content="0;url='https://myrandomurl.test/name" /> <title>Redirecting to https://myrandomurl.test/name</title> </head> <body> Redirecting to <a href="https://myrandomurl.test/name">https://myrandomurl.test/named</a>. </body></html>那么如何從 Location 標簽獲取 url 呢?或者如何從 laravel redirectResponse 獲取重定向網址?我嘗試瀏覽https://laravel.com/api/5.8/Illuminate/Http/RedirectResponse.html#method_content上的文檔,但沒有顯示重定向路由的方法。我需要路線來斷言它以獲得成功的測試結果。
1 回答

翻翻過去那場雪
TA貢獻2065條經驗 獲得超14個贊
繼承有方法的Illuminate\Http\RedirectResponse
類:Symfony\Component\HttpFoundation\RedirectResponse
getTargetUrl
$response->getTargetUrl();
相反,您可以將其用于assertRedirect
測試目的。
- 1 回答
- 0 關注
- 192 瀏覽
添加回答
舉報
0/150
提交
取消