Rspec: как получить доступ к другой базе данных в тесте - PullRequest
0 голосов
/ 01 ноября 2011

В моем тесте Rspec мне нужно создать несколько таблиц для другой базы данных вместо тестовой базы данных приложения, как это сделать?

Как правило, вмой тест Rspec , внутри before(:all), я хотел бы выполнить SQL из файла дампа, который создает таблицы для другой базы данных .

Но когда я запускаю свой тест Rspec, он создает все таблицы в тестовой базе данных (что понятно, поскольку он находится в тесте Rspec приложения.)

Итак, как запустить sqlсоздать таблицы для другой базы данных в моем тестовом коде Rspec?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2011

Вы можете получить доступ к любой базе данных, с которой хотите:

ActiveRecord::Base.establish_connection(
  :adapter  => 'mysql2',
  :database => 'db_name',
  :username => 'root',
  :password => '',
  :host     => 'localhost')

Конечно, хеш можно изменить. Я никогда не пробовал то, что вы ожидаете, хотя. Я думаю, что вам следует повторно подключиться к вашей тестовой базе данных, как только ваш второй вызов будет сделан.

0 голосов
/ 01 ноября 2011

Все тесты выполняются в тестовой среде Rails. Любой выполняемый здесь SQL ограничен тестовой средой.

...