2014-09-12 3 views
3

Я запускаю свои тесты rspec в тестовой среде. Но у меня есть один тест, который должен использовать базу данных разработки. (Я запускаю команду curl с RestClient, которая создает объект в базе данных (таблица Photo)). Мне нужно проверить этот объект в обычной базе данных.Как запустить тест rspec в другой среде?

В моей spec_helper, я ENV [ "RAILS_ENV"] || = 'тест'

Я попытался добавить ENV [ "RAILS_ENV"] = 'развитие' в этом одном тесте, но он все еще говорит, Неинициализированная постоянная фотография.

Любая идея?

+0

Это, вероятно, плохая идея, что вы не можете делиться/использовать один и тот же код между разными средами. Я предлагаю вам работать с тестовой средой с вашим текущим кодом, поскольку он запускает спецификации, как если бы вы запускали свой код в производственной или промежуточной среде. – Surya

ответ

0

Хотя это не ответ.

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

+0

Я знаю, но я создаю API. Мне пришлось бы еще раз настроить все конфигурации для тестового db только для этого одного теста. –

1

Попробуйте добавить RAILS_ENV = разработка в консоли перед вашей тестовой командой.

Неинициализированные константы означают, что что-то еще не настроено. Может быть, модель или контроллер пытается получить доступ к «фотографии»?

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