2013-08-26 1 views
2

Symfony2에서 게스트가 로그인으로 리디렉션되고 페이지의 일부 사용자 유형이 허용되는지 확인하고 다른 액세스가 거부 된 것으로 확인되는 기능 테스트를 작성하려고합니다.Symfony2의 액세스 거부 테스트가 거부되었습니다.

처음 두 번은 문제가 없었지만 액세스 거부 시나리오에서 해당 페이지에 액세스하려고 할 때마다 터미널에 해당 페이지의 내용이 가득 찼습니다 (추적 및 디버그 전체).

제안 사항?

답변

2

테스트 실행을위한 별도의 환경을 만들고 디버깅을 false로 설정하십시오.

나는 당신이 당신의 테스트를 실행하는 방법을 잘 모르겠지만, 그들이 전면 컨트롤러 (app_dev.php)를 통과하는 경우, 다음을 수행하십시오 app_test.php하는

복사 app_dev.php을

두 번째 매개 변수는 $ 디버그 플래그가

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

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

에 변경합니다.

또한 주석 할 수 있습니다

//Debug::enable(); 

편집 : 문서에서

, 당신은 사용할 필요가 기능 테스트에 대한 디버그 매개 변수를 무시합니다 :

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

아니, 도움이되지 않았다 : ( 오류가 여전히 내 터미널에 범람하고있다 : ( – Miro

+0

시도해 봤어 c 테스트에서 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을 확인하십시오. –