Ruby on rails 3 gem&x27';工厂“女孩”轨道;错误取消初始化常量FactoryGirl(NameError)
这是我的工厂/admin_user.rb代码Ruby on rails 3 gem&x27';工厂“女孩”轨道;错误取消初始化常量FactoryGirl(NameError),ruby-on-rails-3,factory-bot,Ruby On Rails 3,Factory Bot,这是我的工厂/admin_user.rb代码 FactoryGirl.define do factory :admin_user do |admin| admin.sequence(:email) { |n| "admin#{n}@example.com" } admin.password "123456789" admin.password_confirmation { |u| u.password } end end 当我运行这个代码时,我得到了这个错误 未
FactoryGirl.define do
factory :admin_user do |admin|
admin.sequence(:email) { |n| "admin#{n}@example.com" }
admin.password "123456789"
admin.password_confirmation { |u| u.password }
end
end
当我运行这个代码时,我得到了这个错误
未初始化常量FactoryGirl(NameError)
有任何帮助吗???问题不应加载。您可以检查文件中是否正确定义了FactoryGirl。并检查ENV是否正确,因为FactoryGirl应该在测试ENV下运行 添加 可能测试生成器设置不正确?您可以检查是否已将以下内容放入
config/application.rb
config.generators do |g|
g.test_framework :rspec,
fixtures: true,
view_specs: false,
helper_specs: false,
routing_specs: false,
controller_specs: true,
request_specs: true
g.fixture_replacement :factory_girl, dir: "spec/factories"
end
关于夹具的最后一行对您的案例应该很重要。然后您可以尝试删除hack设置。不应直接运行“定义”代码。如何在测试中使用factory?我使用的是类似于FactoryGirl.create(:admin_user)。应该是有效的。我通过在spec_helper.rbNice中声明require'factory_girl_rails'解决了这个问题,您已经修复了它。但这很奇怪,通常你不需要这么做。FactoryGirl将自动加载spec/factories.rb或spec/factories/blahblah。rb@ChZeeshan,检查我添加的部分。