考虑一下这个例子:
*# 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
。
为什么?
答案 0 :(得分:0)
问题不在于FactoryGirl没有看到any_section
和fake_section
工厂,而是你没有指定他们的类,所以它猜测名称(即any_section
成为AnySection
和fake_section
变为FakeSection
)。
要解决此问题,请使用Section
选项指定该类为class
:
factory :any_section, :class => Section do
(...)
end
factory :fake_section, :class => Section do
(...)
end
另见this article。