Rails shoulda и настройка factory_girl

Я установил и shoulda, и factory_girl, я могу запустить shoulda нормально, но когда я добавлю это:

require 'factory_girl'

Factory.define :user do |u|
  u.mail '[email protected]'
  u.pass 'secret'
end

в мой test / test_helper.rb я получаю эту ошибку:

/test/test_helper.rb:1:in `require ': такого файла для загрузки нет - factory_girl (LoadError)

когда я выполняю rake test: units

Я установил оба камня, используя:

sudo gem install thinkbot-shoulda --source = http://gems.github.com sudo gem install thinkbot- factory_girl --source = http://gems.github.com

и вижу, как они оба устанавливаются нормально.

  • И, кстати, это тоже отлично работает:

скрипт / консоль Загрузка среды разработки (Rails 2.3.8)

требуется 'factory_girl' => []

так что требование драгоценных камней, кажется, работает


person kristian nissen    schedule 07.06.2010    source источник


Ответы (2)


Пара вещей, которые стоит проверить:

  • Больше не используйте --source=http://gems.github.com. Это устарело и заменено gemcutter.org.
  • Не используйте «thinkbot-gem_name» - это снова устарело gemcutter.org. Просто сделай sudo gem install factory_girl shoulda
  • Убедитесь, что у вас есть config.gem 'factory_girl' в файле config / environment / test.rb.
person Robert Speicher    schedule 07.06.2010
comment
хххмм ... Я добавил строку в свой файл test.rb и запустил установку гема, как вы предложили, но теперь я получаю ./test/test_helper.rb:3: неинициализированную константу Factory (NameError), когда я запускаю rake test: команда unit. Я удалил инструкцию require из моего файла test_helper. - person kristian nissen; 08.06.2010
comment
Я не думаю, что вам действительно нужно require 'factory_girl' где-либо, пока у вас есть строка config.gem. Поэтому удалите требование, а затем переместите определения Factory из test_helper.rb в файл test/factories.rb. Factory Girl автоматически анализирует этот файл во время выполнения. - person Robert Speicher; 09.06.2010
comment
Я удалил требование, я использую только config.gem 'factory_girl' - person kristian nissen; 09.06.2010
comment
Я удалил весь проект, удалил оба гема и начал заново. Вроде все работает. - person kristian nissen; 09.06.2010

если вы используете spork, обязательно перезапустите его. Мне потребовалось несколько мгновений, чтобы осознать это.

person Kliment Mamykin    schedule 03.12.2010