Функциональные тесты Symfony 1.4 - использование правил маршрутизации в sfTestFunctional :: get () - PullRequest
0 голосов
/ 29 сентября 2010

К сожалению, в настоящее время я вынужден использовать конкретный URI в моем функциональном тесте (get ('/ Articles / Index') в случае моего бэкэнд-административного тестирования).

Очевидно, что это нехорошо, потому что в этом случае, в зависимости от настроек URI конкретного проекта, что не является целью этих тестов, возможно как-то использует правила маршрутизации в этом методе get ()?

1 Ответ

4 голосов
/ 29 сентября 2010

Вы можете сгенерировать URI нужного вам маршрута, а затем передать этот URI для get ().Чтобы правильно настроить маршрутизацию, добавьте это в начале теста:

$routing = sfContext::getInstance()->getRouting();
$routingOptions = $routing->getOptions();
$routingOptions['context']['prefix'] = '';
$routing->initialize(sfContext::getInstance()->getEventDispatcher(), $routing->getCache(), $routingOptions);

Чтобы сгенерировать URI, который вы хотите, выполните

$uri = $routing->generate('route_name', array('param' => 'value'));
$test->get($uri);
...