Factory_Girl вопрос о граблях - PullRequest
1 голос
/ 31 декабря 2011

Я создаю новое приложение Rails 3.1, используя Cucumber, Devise и Factory_Girl. Я успешно установил Devise и Cucumber. Затем я создал файл spec / factories.rb, который содержит следующее:

require 'factory_girl'

Factory.define :user do |user|
  user.name 'Test User'
  user.email 'test@email.com'
  user.password' testpass'
end

Я также добавил spec / support / devise.rb для добавления в тестовые хуки для Devise:

RSpec.configure do |config|
  config.include Devise::TestHelpers, :type => :controller
end

Что касается тестирования, я больше ничего не касался, и теперь каждый раз, когда я запускаю любую команду rake, я получаю следующее (в этом случае я запускал rake spec, просто чтобы убедиться, что все готово к тестам):

rake aborted!
Factory already registered: user

Tasks: TOP => spec => db:test:prepare => db:abort_if_pending_migrations => environment
(See full trace by running task with --trace)

Теперь, если я удалю блок Factory.define из файла фабрики, он будет работать нормально. Я провел поиск в Google и ничего не нашел. Поскольку говорится, что Фабрика уже зарегистрирована, по какой-либо причине Devise уже создает Фабрику?

...