発生した事象
Laravelのバージョンを5.1から5.4にアップデートしたら、HTTPテストが通らなくなってしまった。
テストコード
public function testAPI()
{
$this->json('get', '/api/xxxx', [], [])
->assertStatus(200);
}
テスト結果
1) Tests\APITest::testAPI
Expected status code 200 but received 404.
Failed asserting that false is true.
原因
.env で APP_URL を以下のように設定していたのが原因だったようだ。
APP_URL=localhost
対応
.env の APP_URL は http scheme も含めないといけない
APP_URL=http://localhost