1
我有一個角色模型,在任何測試運行之前需要'學生','教官','管理員'行。我可以爲具有關聯學生角色的用戶創建(並通過測試),但這隻會創建一個角色。但是,在我的應用程序中的方法和範圍失敗,因爲他們可能期望找到'管理員'的角色......那不是。工廠女孩種子數據
如何在測試運行之前在FactoryGirl中創建多個角色?
我想這...
在minitest_helper.rb
class MiniTest::Spec
include FactoryGirl::Syntax::Methods
before :each do
DatabaseCleaner.clean
Capybara.reset_sessions!
Capybara.use_default_driver
FactoryGirl.create(:role, name: "student")
FactoryGirl.create(:role, name: "admin")
FactoryGirl.create(:role, name: "instructor")
end
end
按預期創建的角色...
在factories.rb
factory :account do
user # associated user factory
trait :student do
role_id { Role.find_by_name("student") }
end
end
我如果以下內容爲ca,則會期望這將正確的學生角色ID分配給帳戶role_id字段在測試LLED ...
在user_test.rb
it "says Welcome Back" do
a = FactoryGirl.create :account, :student
assert page.has_content?('Welcome Back'), "does not contain Welcome Back"
end
我得到的錯誤是:
undefined method `to_i' for #<Role:0x007fd5563cbdc8>