FactoryGirl不会初始化工厂

时间:2012-11-21 05:10:45

标签: ruby-on-rails rspec factory-bot

考虑一下这个例子:

*# spec/factory/sections.rb*

FactoryGirl.define do

    factory :any_section do
        (...)
    end


    factory :fake_section do
        (...)
    end


    factory :section do
        (...)
    end
end

我发现我的rspec测试只能看到:section工厂。所有其他人最终都会抛出错误:uninitialized constant FakeSection

为什么?

1 个答案:

答案 0 :(得分:0)

问题不在于FactoryGirl没有看到any_sectionfake_section工厂,而是你没有指定他们的类,所以它猜测名称(即any_section成为AnySectionfake_section变为FakeSection)。

要解决此问题,请使用Section选项指定该类为class

factory :any_section, :class => Section do
    (...)
end


factory :fake_section, :class => Section do
    (...)
end

另见this article