2013-08-26 4 views
2

Я хочу создать функциональный тест в Symfony2, чтобы проверить, что гости перенаправлены на вход в систему, некоторые пользовательские типы разрешены на странице, а другие показаны Access Denied.Функциональное тестирование Symfony2 Access Denied

Первые два я делал с нулевыми проблемами, но всякий раз, когда я пытаюсь получить доступ к этой странице в сценарии «Отказано в доступе», мой терминал заливается содержимым этой страницы (это целая куча следов и отладок).

Любые предложения?

ответ

2

Создайте отдельную среду для запуска тестов и настройте отладку на false.

Я не знаю, как вы работаете тесты, но если они проходят через фронт-контроллер (app_dev.php), сделайте следующее:

Copy app_dev.php в app_test.php

Изменение

$kernel = new AppKernel('dev', true); 

в

$kernel = new AppKernel('test', false); 

Вторым параметром является флаг $ отлаживать.

Вы также можете закомментировать:

//Debug::enable(); 

EDIT:

Из документации, чтобы переопределить параметр отладки для функциональных тестов вы должны использовать:

$client = static::createClient(array(
    'environment' => 'my_test_env', 
    'debug'  => false, 
)); 
+0

Неа, не помогло :( Ошибки все еще затопляют мой терминал :( – Miro

+0

Вы пробовали c atching AccessDeniedException в вашем тесте? Полное пространство имен - Symfony \ Component \ Security \ Core \ Exception \ AccessDeniedException, для справки phpunit см. Http://phpunit.de/manual/3.2/en/writing-tests-for-phpunit.html#writing-tests- for-phpunit.exceptions.examples.ExceptionTest.php –

+0

Также проверьте http://symfony.com/doc/current/book/testing.html#testing-configuration о том, как переопределить режим отладки по умолчанию для тестирования. –

Смежные вопросы