【Laravel + PHPUnit】parse_urlで受け取るヘッダー情報をPOSTする方法


概要

テスト対象のビジネスロジックでparse_urlメソッドを利用し特定の値を取得したい場合につまづいたので指定方法をまとめる

<?php
$parentUrl = parse_url(url()->previous())['path'];
if (strpos($parentUrl, 'hoge')) {
    return 'hoge';
}

解決方法

fromを利用してヘッダー情報をカスタマイズします

public function test_OK()
{
    $id = Users::query()->first()->id;
    $response = $this
        ->from('hoge')
        ->actingAs($this->authUser)->get("admin/users/${id}");
    $response->assertViewIs('admin.users.show');
}
``