FactoryGirl(管理员会被猜到)

FactoryGirl ( Admin would have been guessed)

我正在阅读 FactoryGirl 文档,但我不明白 class 被猜中的想法,下面的评论是什么意思?

提前致谢

# This will guess the User class
FactoryGirl.define do
  factory :user do
    first_name "Joe"
    last_name "Lincol"
    admin false
  end

# This will use the User class (Admin would have been guessed)
  factory :admin, class: User do
    first_name "Admin"
    last_name "User"
    admin true
  end
end

admin没猜到

布尔标志 admin true 表示用户是管理员。

在决定实例化哪个 class 时,FactoryGirl 会尝试使用工厂名称进行猜测。在第一个例子中,factory :user,它会实例化一个User class。在第二个示例中,factory :admin,如果您不指定 class: User 参数,FactoryGirl 将尝试查找 Admin class,这可能不是您想要的.

工厂定义的admin(具有truefalse值)只是Userclass中的一个字段,它没有对 FactoryGirl 如何寻找 classes 进行实例化的影响。