private static function initializeEnvironment() { // Boot the AppKernel in the test environment and with the debug. self::$kernel = new AppKernel('test', true); self::$kernel->boot(); // Create the application for command execution $helperSet = new HelperSet(); self::$application = new Application(self::$kernel); self::$application->setHelperSet($helperSet); self::$application->addCommands(self::enhance($helperSet, array(new RunSqlCommand(), new ImportCommand(), new ReservedWordsCommand(), new CreateDatabaseDoctrineCommand(), new DropDatabaseDoctrineCommand()))); self::$application->setAutoExit(false); // Store the container and the DB connection in test case properties self::$container = self::$kernel->getContainer(); self::$conn = self::$container->get('database_connection'); self::$transaction = self::$container->get('cantiga.transaction'); self::$eventDispatcher = new EventDispatcher(); $helperSet->set(new ConnectionHelper(self::$conn), 'db'); if (SharedResources::$dbInitializer !== null) { self::$dbInitializer = SharedResources::$dbInitializer; self::$dbReused = true; } else { SharedResources::$dbInitializer = self::$dbInitializer = new DBInitializer(self::$application, self::$container->getParameter('db_files')); } }