Использование нескольких источников базы данных при написании тестовых примеров для торта в CAKEPHP 1.3 - PullRequest
0 голосов
/ 18 февраля 2019

Если я запускаю код через URL, он работает (например: http://localhost:8080/projects/emailNewProject/2008098)

Но если я пытаюсь получить к нему доступ через http://localhost:8080/test.php?show=cases&app=true, он выдает ошибку: отсутствуеттаблица базы данных для модели Customer

Я попытался изменить источник данных в контроллере, используя:

Configure::write('currentDataSource', 'testdb');
$dataSource = Configure::read('currentDataSource');
$this->setDataSource($dataSource);

, но это не влияет !!

class ProjectsControllerTest extends CakeTestCase{
    function testEmailNewProject()
        {
            $id     = 2008098;
            $result = $this->testAction('/projects/emailNewProject', array('fixturize' => true, 'data' => $id, 'method' => 'post'));
            debug($result);
        }
    }

1 Ответ

0 голосов
/ 28 февраля 2019

Вероятно, это связано с тем, что модель вашего проекта (hasOne, ownTo и т. Д.) Связана с моделью Customer, а у вас нет привязки для Customer.Это то, что говорит механизму тестирования, какие таблицы базы данных создать для тестовой базы данных.

Подробнее об этом можно прочитать здесь: https://book.cakephp.org/1.3/en/The-Manual/Common-Tasks-With-CakePHP/Testing.html#preparing-test-data.

Если у вас все еще проблемы, дайте мне знать.

...