Laravelでphpunitのhttpアクセスが302になる原因

Laravelでphpunit上からhttpアクセスさせようとしたら、302が返ってくるんですよ。
色々とurl変えても、存在しないurlにしてもそれでも302。
何でだ?と思って調べてみたら、やっぱり原因は存在。



こんな感じに書いたとしても、


$response = $this->get('http://aaaabbb/');


404とかじゃなくてなぜか302になるのです。
Illuminate側のソースを見ても、やっぱりresponseCode見てるだけ。
curlで叩くと当然ながらホスト名が見つからないと言われる。

うーむ。
もう少し見ると、Illuminate側を見るとdumpという関数があるではないか。
叩いてみよう。


var_dump($response->dump());


結果は、

<!DOCTYPE html>\n
<html>\n
<head>\n
<meta charset="UTF-8" />\n
<meta http-equiv="refresh" content="1;url=http://aaaabbb/login" />\n
\n
<title>Redirecting to http://aaaabbb/login</title>\n
</head>\n
<body>\n
Redirecting to <a href="http://aaaabbb/login">http://aaaabbb/login</a>.\n
</body>\n
</html>


ええー。loginってなんですかー。
どうやらlaravel:authが悪さしているようですな。
外部にアクセスしたいならcurlでダイレクトに呼べってことか。
んでassetEqualとかで判断かね?

とりあえず原因が分かってよかったよかった。