2015-05-28 6 views
3

Я пытаюсь выяснить, как подключиться к нескольким базам данных с помощью Codeception. Я даже попытался напрямую создать экземпляр нового экземпляра PDO, но тогда команда codept run заканчивается преждевременно, без сообщения об ошибке.Подключение к нескольким базам данных с приемочными тестами Codeception

Я могу подключиться к одной базе данных с помощью модуля Db для использования таких функций, как $I->seeInDatabase(), но я застрял, пытаясь подключиться к двум. Попытка перенастроить модуль Db во время выполнения с $this->getModule('Db')->_reconfigure() также просто останавливает тесты без сообщения.

Любые идеи?

+0

Вам нужны два соединения одновременно? Если нет, вы можете настроить различные среды с различными параметрами подключения к базе данных. – rickroyce

+0

Нет, я имею в виду, что я могу даже закрыть одно соединение и изменить его на другое соединение, но я хочу иметь два соединения в одном тесте, если это то, что вы спрашиваете? – Gabriel

ответ

2

Я думаю, что это то, что вы хотите: https://github.com/Codeception/Codeception/issues/1634 ... однако его еще не реализовано - может быть, вы можете выдвинуть эту проблему?

+0

Добро пожаловать в Stackoverflow! Старайтесь избегать ссылок только на ответы. Должна быть достаточная информация для предоставления ответа сама по себе, и для получения дополнительной информации может быть предоставлена ​​ссылка. Кроме того, если ваша ссылка ломается, ваш ответ, поскольку он становится бесполезным. Мы надеемся, что вы окажетесь и поможете улучшить наше сообщество! –

+0

Привет, Деннис, спасибо за ваш совет! Я пытаюсь улучшить свою информацию. Я хотел сказать, что есть открытый билет для этой проблемы, но он все еще находится на рассмотрении. Возможно, мы сможем продвинуть этот вопрос, если мы достаточно заинтересованы. – Marc

+0

Чтобы внести свой вклад, даже если это всего лишь одна ссылка: https://github.com/natterbox/Codeception-MultiDb – velop

0

Хорошо! если вы не работаете с подключением к базам данных, вы можете сделать это, что я реализовал один раз в symfony при использовании кода.

  1. сервис Grab Учение используя

    $doctrine = $I->grabService('Doctrine'). 
    
  2. Теперь возьмите соединение с базой данных, как указано вами в доктрине ORM разделе.

    $connection = $doctrine->getConnection('DB_Name_as_in_ORM') 
    
  3. Теперь вы подключены к требуемой базе данных, и теперь вы можете выполнять запросы в таблице в этой базе данных с помощью методов доктрины dbal connect.

Я думаю, что это то, что вы искали, может быть!

 Смежные вопросы

  • Нет связанных вопросов^_^