我正在使用Cucumber,Devise和Factory_Girl创建一个新的Rails 3.1应用程序。我成功安装了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规范,只是为了确保一切准备好进行测试):
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块,它运行正常。我已经完成了一些谷歌搜索,并且完全没有提出任何问题。既然它说工厂已经注册了,那么无论出于什么原因设计工厂,已经创建工厂了吗?