Если честно, я думаю, что невозможно сделать такой тест.Я пытался использовать некоторые «хакерские» решения, но тоже не получилось.
Проблема в том, что при запуске такого теста все маршруты уже загружены, поэтому изменение значения в конфигурации не влияет на текущие маршруты.
EDIT
В качестве альтернативного решения, чтобы сделать его немного тестируемым, в конфигурации я бы использовал:
<?php
return [
'url' => env('APP_SETTING_URL', 'settings'),
'middleware' => []
];
Тогда в phpunit.xml
вы можетеset:
<env name="APP_SETTING_URL" value="dummy-url"/>
Как вы видите, я установил здесь полностью фиктивный URL, чтобы убедиться, что этот пользовательский URL будет использоваться позже, а затем тест может выглядеть следующим образом:
/** @test */
function it_works_fine_with_custom_url()
{
$this->get('dummy-url')
->assertStatus(200);
$this->get('settings')
->assertStatus(404);
}
Возможно, это не такне проверяйте все, но трудно поверить, что кто-то будет использовать dummy-url
в маршрутизации, а использование собственного env в phpunit.xml
даст вам некоторую уверенность, что только пользовательский URL работает нормально;