Ruby on rails 3 轨道3和x2B;FactoryGirl:NameError:未初始化的常量工厂
我的档案:Ruby on rails 3 轨道3和x2B;FactoryGirl:NameError:未初始化的常量工厂,ruby-on-rails-3,factory-bot,Ruby On Rails 3,Factory Bot,我的档案: ruby-1.9.2-p180 :007 > Factory.define :user do |user| ruby-1.9.2-p180 :008 > user.email "user@example.com" ruby-1.9.2-p180 :009?> user.password "foobar" ruby-1.9.2-p180 :010?> user.passwo
ruby-1.9.2-p180 :007 > Factory.define :user do |user|
ruby-1.9.2-p180 :008 > user.email "user@example.com"
ruby-1.9.2-p180 :009?> user.password "foobar"
ruby-1.9.2-p180 :010?> user.password_confirmation "foobar"
ruby-1.9.2-p180 :011?> end
NameError: uninitialized constant Factory
即使很艰难,我似乎拥有一切,因为它应该,我不断得到错误。我还创建了factories.rb
谢谢我想您可以在开发环境中的控制台中进行尝试。但您只在测试环境中添加工厂gem 如果要访问正在开发中的Factory\u girl,请在GEM文件中使用:
group :test do
gem "rspec-rails"
gem 'webrat', '0.7.1'
gem 'spork', '0.9.0.rc4'
gem 'factory_girl_rails'
end
或者,如果您想在工厂测试,请在测试环境中启动控制台:
group :test, :development do
gem 'factory_girl_rails'
end
我们也遇到了类似的问题,rake规范似乎随机失败,错误为uninitialized constant FactoryGirl。错误是随机的->来来往往。我们返回了半打git提交,试图解决它。最后这是一个愚蠢的错误 根本问题是RAILS_ENV设置为development。运行rake spec时,需要将其设置为test 地址:
我们正在运行Ruby 1.9.3、Rails 3.2.9、Rspec 2.12、factory_girl 4.1。您还应该将factory.define更改为FactoryGirl.define,如本例所示
rails c test
从我在做Hartl教程时也遇到了这个问题
如果您正在使用“Spork”加快测试速度,并且在添加FactoryGirl代码时它正在后台运行,则需要停止并重新启动它。OMG我忘了我有这套!
FactoryGirl.define do
factory :user do
name 'John Doe'
date_of_birth { 21.years.ago }
end
end