Когда я запускаю функциональные тесты в Symfony, мои абсолютные ссылки не отображаются так, как они бы выглядели даже в «реальной» тестовой среде. Например, ссылка, которую я выводил так:
echo url_for("@homepage", true);
будет отображаться как http://localhost/index.php/
, тогда как если я на самом деле захожу на тестовый сайт в своем браузере, он будет отображаться как http://example.com.localhost/frontend_test.php/
Теперь, я предполагаю, что это происходит, потому что тестовая среда ничего не знает о настройке моего локального виртуального сервера и т. Д., Поэтому у нее нет способа узнать, каким должен быть ее «реальный» абсолютный URL.
Но это делает мои тесты более сложными и менее "реальными". Выполнение моих тестов путем сопоставления с какой-то странной ссылкой, которая на самом деле не сработала бы, если бы я нажал на нее, кажется немного неправильным.
Возможно, лучший результат был бы, если бы абсолютные ссылки моего тестового браузера выглядели так же, как абсолютные ссылки моей реальной среды, поэтому я могу легко сравнить результаты со значениями, которые выдает реальная система, например, абсолютная ссылка на домашнюю страницу будет выглядеть так же, как в реальной системе:
http://example.com/
вместо
http://localhost/index.php
Как люди обычно справляются с этим? Могу ли я «указать» тестируемому браузеру, где должны быть основаны его абсолютные URL-адреса, с точки зрения имени хоста и контроллера, включая удаление «index.php», и таким образом получить более реалистичные URL-адреса из тестовой среды?
(Эти URL создаются для канала Atom и в электронных письмах, поэтому мне нужно, чтобы они были абсолютными. Относительные ссылки работают нормально.)