Кто-нибудь здесь использует Zend Framework, ZFDoctrine и PHPUnit вместе?
Как перестраивать базу данных при каждом запуске теста?
Как разделить локальную / производственную / тестовую среду?
Не могли бы вы поделиться настройкой юнит-тестирования?
Я пытался что-то подобное:
// /tests/bootstrap.php
// ... setup paths and constants here
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap('doctrine');
$provider = new ZFDoctrine_Tool_DoctrineProvider;
$provider->generateModelsFromYaml();
//$provider->buildProject(true);
Но это заканчивается:
Notice: Constant APPLICATION_PATH already defined in /home/user/www/library/ZendFramework/1.10.7/library/Zend/Tool/Project/Context/Zf/BootstrapFile.php on line 106
Fatal error: Call to a member function getResponse() on a non-object in /home/user/www/library/zf-doctrine/library/ZFDoctrine/Tool/DoctrineProvider.php on line 271
Модели не генерируются.
Я получаю похожие ошибки:
$provider->createDatabase();
Но в этом случае база данных создается.
Другие команды провайдера не работают.
<ч />
Решение:
$provider = new ZFDoctrine_Tool_DoctrineProvider;
$registry = new Zend_Tool_Framework_Registry;
$provider->setRegistry($registry);
@$provider->buildProject(true);
Если кто-нибудь знает лучший подход, поправьте меня.