2010-11-24 3 views
0

BDD symfony plugin으로 symfony 응용 프로그램의 동작을 테스트하려고하는데 im은 내 BDD 부트 스트래핑 파일에서 PHP로 데이터베이스를 직접 재설정하는 방법을 알지 못하기 때문에 stuck되었습니다.Symfony 1.4 Doctrine이 테스트 전에 데이터를 재설정했습니다.

조명기를 설치하지 않고 초기화하는 방법을 아는 사람이 있습니까? (결과는 비어있는 데이터베이스 여야합니다.)

답변

0

, 나는 test/bootstrap/db.php 파일이이 있고 unit.php의 끝 또는 functional.php

new sfDatabaseManager($configuration); 

$doctrine = new sfDoctrineDropDbTask($configuration->getEventDispatcher(), new sfAnsiColorFormatter()); 
$doctrine->run(array(), array("--no-confirmation","--env=test")); 

$doctrine = new sfDoctrineBuildDbTask($configuration->getEventDispatcher(), new sfAnsiColorFormatter()); 
$doctrine->run(array(), array("--env=test")); 

$doctrine = new sfDoctrineInsertSqlTask($configuration->getEventDispatcher(), new sfAnsiColorFormatter()); 
$doctrine->run(array(), array("--env=test")); 

에 그것을 포함이 $configuration가 정의되어 있다고 가정 예를 들어 보통 unit.php 또는 functional.php 파일이 있습니다.

위의 내용은 내장 된 석회 테스트 제품군과 함께 사용되지만 BDD 부트 스트랩에서 적절하게 확장/구현할 수 있습니다.

+0

Fantastico! 고마워 :-) – palmic

0

내가 오해하고있을 수도 있지만 빌드를 실행할 수 없습니까? 당신이 (예 test:all을 실행하는) 모든 테스트를에 다시 의미하는 경우

symfony doctrine:build --all 
+0

하지만 테스트에서는 부트 스트랩이 프로그래밍 방식이므로 부자가 단서를 가지고 있습니다. 고마워. – palmic

관련 문제