我有一个非常简单的模型。一个用户有一个 role_id,它依赖于一个角色表(id,name)和一个角色引用。
我想用工厂女孩在我的 rspec 测试中创建任何类型的用户。
我的第一个想法是这样的
factory :role do
name "guest"
factory :role_admin do
name "admin"
end
factory :role_supervisor do
name "supervisor"
end
etc... I have a lot a different roles
end
factory :user do
email
password '123456'
password_confirmation '123456'
association :role, factory: :role
factory :admin do
association :role, factory: :role_admin
end
factory :supervisor do
association :role, factory: :role_supervisor
end
etc... I have a lot a different roles
end
在我的模型中,我有一个简单的方法:
def is(role_name)
return self.role.name == role_name
end
这是正确的做法吗?我真的需要为这个角色创建一个工厂吗?我可以为每个角色的工厂女孩中的这个功能制作一个存根吗?
我对所有这些测试内容都很陌生,谢谢。