1

例を考えてみましょう:

*# spec/factory/sections.rb*

FactoryGirl.define do

    factory :any_section do
        (...)
    end


    factory :fake_section do
        (...)
    end


    factory :section do
        (...)
    end
end

私の rspec テストでは:sectionfactory しか見えないことがわかりました。他のすべては、次のようなエラーをスローしてしまいますuninitialized constant FakeSection

何故ですか?

4

1 に答える 1

0

問題は、FactoryGirlがany_sectionおよびファクトリを認識しないことでfake_sectionはなく、それらのクラスを指定していないため、名前を推測していることです (つまり、becomeany_sectionおよびbecome )。AnySectionfake_sectionFakeSection

問題を解決するには、クラスがオプションSectionを使用していることを指定するだけです。class

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


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

この記事も参照してください。

于 2012-11-21T05:35:40.547 に答える