0
我是新來的測試Rails的,我很難測試我的關聯。我想簡單地爲具有各種角色的確認用戶提供工廠,我可以在我的規格中創建這些工廠。我想只是有能力user = create(:user_superadmin)
或user = create(:user_accountadmin)
,但我很難這樣做。來自繼承工廠的FactoryGirl協會
下面是運行我的規格時,我遇到了錯誤:
Failure/Error: user = create(:user_superadmin)
NoMethodError:
undefined method `name' for :user_superadmin:Symbol
請參閱下面我的代碼:
工廠/ role.rb
FactoryGirl.define do
factory :role_superadmin, class: Role do
name 'SuperAdmin'
description 'Lorem ipsum...'
end
end
工廠/user.rb
FactoryGirl.define do
factory :user do
email { Faker::Internet.email }
password { Faker::Internet.password(8) }
password_confirmation { password }
factory :confirmed_user do
confirmed_at Time.zone.now
factory :user_superadmin do
association :role, factory: role_superadmin
end
end
end
end
規範
it 'should be a superadmin user' do
user = create(:user_superadmin)
expect(user.super_admin?).to be_truthy
end
任何幫助深表感謝。
omg ... thx這麼多。 –
沒問題。當我開始使用FactoryGirl時,我發現Arjan van der Gaag提供的這套技巧很有用:http://arjanvandergaag.nl/blog/factory_factor_girl_tips.html –