Rails: предотвратяване на инициализиране на спецификационни файлове по време на рейк задачи

Имам приложение на Rails със спецификационна папка, пълна с rspec тестове. Много от тях препращат към ресурси в приложението ми, като например ресурса „Потребител“. Всичко е наред на моята машина, но когато се опитам да настроя приложението на нова машина и да създам базата данни с rake db:setup, то стартира цялото приложение на Rails и по някаква причина части от тестовете на rspec се оценяват. Тъй като един от тях препраща към ресурса „Потребител“, за който все още не е създадена таблица на база данни, задачата за рейк се проваля с relation "users" does not exist.

Мога лесно да разреша това, като преместя папката със спецификации извън родителската директория, стартирам настройката и след това я преместя обратно, но това е досадно. Очевидно бих искал спецификационните файлове да бъдат игнорирани по време на рейк задачи като тази. Някакви идеи?


person Andrew    schedule 14.06.2013    source източник
comment
Не мога да го пробвам в момента, за да го проверя, но предполагам, че трябва да можете да премахнете папката със спецификации от config.autoload_paths в application.rb   -  person doesterr    schedule 15.06.2013


Отговори (1)


Този SO Answer ми помогна: FactoryGirl прецаква процеса на rake db:migrate.

Това е конкретното решение, което работи за мен.

Във вашия gemfile променете factory_girls_rails, така че да не е задължително

gem 'factory_girl_rails', :require => false

След това го изискайте във вашия помощник за спецификации

require 'factory_girl_rails'
person vansan    schedule 23.10.2013