Symfony 1.4 Doctrine нулира данните преди тестове

опитвам се да тествам поведението на приложението на symfony чрез BDD плъгин за symfony и се затрудних, защото разбрах, че не знам как да нулирам базата данни директно от PHP в моя файл за стартиране на BDD :-/.

Някой знае ли как да го нулирам, без да зареждам приспособления? (Резултатът трябва да е празна база данни)


person palmic    schedule 24.11.2010    source източник


Отговори (2)


Ако имате предвид нулиране при всеки тест (напр. изпълнение на test:all), имам това в 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 файл, както обикновено е по подразбиране.

Горното се използва с вградения пакет за тестване на lime, но съм сигурен, че можете да го разширите/приложите по подходящ начин във вашия BDD bootstrap.

person richsage    schedule 24.11.2010

Може да съм разбрал погрешно, но не можете ли просто да стартирате build?

symfony doctrine:build --all
person Jeremy Kauffman    schedule 24.11.2010
comment
Да, но програмно при стартиране на тестове, така че richsage има представа. И аз ти благодаря. - person palmic; 09.05.2012