FactoryGirl有多个不同的用户

时间:2013-11-18 12:47:34

标签: ruby

如何使用FactoryGirl定义具有不同字段的多个用户,以便使用不同的权限测试我的应用?当我的权限由同一用户表上的字段is_admin定义时

2 个答案:

答案 0 :(得分:1)

例如,如果我们这样定义:

FactoryGirl.define do
factory :user do |f|
...
end
end

只需修改为:

FactoryGirl.define do
factory :user, class: User do |f|
...
end
factory :admin, class: User do |f|
...
end
factory :editor, class: User do |f|
...
end

end

答案 1 :(得分:0)

如果大多数字段都很常见,您也可以使用继承:

FactoryGirl.define do
  factory :user do
    name { Faker::Name.name }
    email { Faker::Internet.email }

    factory :editor do
      is_admin { false }
    end

    factory :admin do
      is_admin { true }
    end
  end
end

有关更多信息和示例,请参阅文档:https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md