Тестирование Rails в нескольких средах - PullRequest
0 голосов
/ 26 мая 2010

Есть ли способ изменить среду Rails в середине теста? Или, альтернативно, каков был бы правильный способ установить набор тестов, который может запустить Rails в одной среде, запустить в нем первую половину моего теста, а затем перезапустить Rails в другой среде, чтобы завершить тест? Две среды имеют отдельные базы данных.

Некоторый необходимый контекст: я пишу плагин Rails, который позволяет нескольким установкам приложения Rails взаимодействовать друг с другом с помощью пользователя, так что пользователь без доступа к Интернету все еще может использовать приложение. Они запустят локальную версию приложения и загрузят свою работу в онлайн-приложение, сохранив файл на флэш-накопителе и перенеся его в интернет-кафе.

Плагин добавляет в Rails две специальные среды: "offline-production" и "offline-test". Я хочу написать функциональные тесты, которые включают в себя как среду «test», так и «offline-test», чтобы представить основную онлайн-версию приложения и локальную офлайн-версию приложения соответственно.

Редактировать : я читал о Rack :: Test, и похоже, что это может быть путь, потому что он помещает платформу тестирования вне самих рельсов. Но я до сих пор не представляю, как я могу использовать его для проведения теста, включающего более одной среды. Любые идеи, кто-нибудь?

1 Ответ

1 голос
/ 12 июня 2010

Может быть, подумаете о проблеме с точки зрения наличия более одного соединения с БД, а не с более чем одной средой? Вы не можете по-настоящему переключать окружение на полпути, по крайней мере, без большого количества взлома и путаницы. :)

http://anandmuranal.wordpress.com/2007/08/23/multiple-database-connection-in-rails/

...