Missing Test Database Connection
+getMessage(); ?>
+getTraceAsString(); ?>+
diff --git a/cake/tests/lib/cake_fixture_manager.php b/cake/tests/lib/cake_fixture_manager.php index 8517c97a7..dd67cf615 100644 --- a/cake/tests/lib/cake_fixture_manager.php +++ b/cake/tests/lib/cake_fixture_manager.php @@ -91,21 +91,12 @@ class CakeFixtureManager { $testDbAvailable = $db->isConnected(); } - // Try for default DB if (!$testDbAvailable) { - $db = ConnectionManager::getDataSource('default'); - $_prefix = $db->config['prefix']; - $db->config['prefix'] = 'test_suite_'; + throw new MissingConnectionException(__('You need to create a $test datasource connection to start using fixtures')); } - ConnectionManager::create('test_suite', $db->config); - $db->config['prefix'] = $_prefix; - - // Get db connection - $this->_db = ConnectionManager::getDataSource('test_suite'); - $this->_db->cacheSources = false; - - ClassRegistry::config(array('ds' => 'test_suite')); + $this->_db = $db; + ClassRegistry::config(array('ds' => 'test')); $this->_initialized = true; } diff --git a/cake/tests/lib/cake_test_model.php b/cake/tests/lib/cake_test_model.php index de4f1be8d..52affed27 100644 --- a/cake/tests/lib/cake_test_model.php +++ b/cake/tests/lib/cake_test_model.php @@ -26,6 +26,6 @@ require_once LIBS.'model'.DS.'model.php'; * @subpackage cake.cake.tests.lib */ class CakeTestModel extends Model { - public $useDbConfig = 'test_suite'; + public $useDbConfig = 'test'; public $cacheSources = false; } diff --git a/cake/tests/lib/cake_test_suite_dispatcher.php b/cake/tests/lib/cake_test_suite_dispatcher.php index 19d83af56..4ed73d468 100644 --- a/cake/tests/lib/cake_test_suite_dispatcher.php +++ b/cake/tests/lib/cake_test_suite_dispatcher.php @@ -272,7 +272,14 @@ class CakeTestSuiteDispatcher { * @return void */ function _runTestCase() { - $Reporter = CakeTestSuiteDispatcher::getReporter(); - return $this->Manager->runTestCase($this->params['case'], $Reporter, $this->params['codeCoverage']); + try { + $Reporter = CakeTestSuiteDispatcher::getReporter(); + return $this->Manager->runTestCase($this->params['case'], $Reporter, $this->params['codeCoverage']); + } catch (MissingConnectionException $exception) { + ob_end_clean(); + $baseDir = $this->_baseDir; + include CAKE_TESTS_LIB . 'templates' . DS . 'missing_conenction.php'; + exit(); + } } } diff --git a/cake/tests/lib/templates/missing_conenction.php b/cake/tests/lib/templates/missing_conenction.php new file mode 100644 index 000000000..c77210f95 --- /dev/null +++ b/cake/tests/lib/templates/missing_conenction.php @@ -0,0 +1,27 @@ + + * Copyright 2005-2009, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The Open Group Test Suite License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright 2005-2009, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://book.cakephp.org/view/1196/Testing CakePHP(tm) Tests + * @package cake + * @subpackage cake.cake.tests.libs + * @since CakePHP(tm) v 1.2.0.4433 + * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License + */ +?> + +
getTraceAsString(); ?>+