1

Rspec と FactoryGirl で、クラス名を引用符で囲んでいる人もいれば、そうでない人もいるいくつかの例に気付きました。

rspec の例:

describe "User" do
...specs...
end

describe User do
...specs...
end

ファクトリーガールの例

factory :high_school_account, class: "Account" do
  Name "Test Account Name"
  AccountTypeId 1
end

factory :high_school_account, class: Account do
  Name "Test Account Name"
  AccountTypeId 1
end

クラスがRuby環境にロードされたときにやらなければならないことをどこかで読んだと思ったのですが、それは完全にでっち上げかもしれません。

引用されたバージョンと引用されていないバージョンに違いはありますか?

4

1 に答える 1

2

factory_girlのソースコードから:

module FactoryGirl
  class Factory
    # ...
    def build_class
      @build_class ||= if class_name.is_a? Class
        class_name
      else
        class_name.to_s.camelize.constantize
      end
    end
  end
end

したがって、このコンテキストでは違いはありません。どちらも受け入れられます。文字列は単にクラスに変換されます。シンボルでも機能します。

于 2012-11-07T22:07:03.910 に答える