1

考虑这个例子:

*# 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.

这是为什么?

4

1 回答 1

0

问题不在于 FactoryGirl 看不到any_sectionandfake_section工厂,而是您没有指定它们的类,所以它在猜测名称(即any_sectionbecomeAnySectionfake_sectionbecome FakeSection)。

要解决此问题,只需指定该类正在Section使用该class选项:

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


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

另请参阅这篇文章

于 2012-11-21T05:35:40.547 回答