Функциональное тестирование Symfony2 $ crawler не работает - PullRequest
4 голосов
/ 12 марта 2012

Я обнаружил, что функциональные тесты в Symfony2 всегда пытаются запрашивать страницы как "http://localhost"

Моя среда настроена с виртуальными хостами, поэтому мое приложение имеет значение" http://symfony.dev"

. После некоторого тестирования у меня естьобнаружил, что если я запущу:

var_dump($client->getResponse()->getContent());

, я получу нужную страницу, но если я var_dump $ crawler, я вижу это вместо того, чтобы запрашивать страницу типа "http://symfony.dev/page" она запросила" http://localhost/page"

Это дает 404, так что я не могу проверить формы и т. Д.

Есть ли способ установить базовый URL, чтобы заставить это работать?Должен ли я вместо этого использовать что-то другое, как Selenium?

1 Ответ

13 голосов
/ 13 марта 2012

Я обнаружил, что могу передать домен Клиенту. Я просто сделаю базу WebTestCase с этой функциональностью, чтобы мои тесты работали.

$client = static::createClient(array(), array('HTTP_HOST' => 'symfony.dev'));
$client->followRedirects(true);
...