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 回答