使用FactoryBot,我在我的规范中创建管理工厂时遇到了问题,因为在before_create回调中为每个用户分配了一个默认的用户角色.这意味着在回调发生时,我分配工厂的任何角色都将更改为用户
我真正想做的是这样的事情:
在我的规格内
admin = FactoryBot.create(:user) admin.role = 'admin'
第二行admin.role =’admin’没有做任何事情.有任何想法吗?
我也愿意接受更好的方法.
另一种方式# Steal some code from MrYoshiji at first.
factory :user do
sequence(:username) { |n| "User ##{n}"}
role 'user'
# Then a separate factory inside
factory :admin do
role 'admin'
end
end
# Use
FactoryBot.create(:admin)
