1
테스트를 실행하기 전에 'student', 'instructor', 'admin'행이 필요한 역할 모델이 있습니다. 연결된 학생 역할을 가진 사용자를 만들 수 있고 테스트를 통과 할 수는 있지만 하나의 역할 만 생성합니다. 하지만, 내 앱의 메소드와 스코프가 실패하는 이유는 '관리자'역할을 기대할 수 있기 때문입니다.공장 소녀 씨앗 데이터
테스트를 실행하기 전에 FactoryGirl에서 여러 역할을 어떻게 작성합니까?
나는이 시도
... 예상대로 역할이 만들어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
minitest_helper.rb에서
... factories.rb에서
factory :account do
user # associated user factory
trait :student do
role_id { Role.find_by_name("student") }
end
end
I 다음이 ca 일 때 account role_id 필드에 올바른 학생 역할 ID를 할당 할 것으로 기대합니다. 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>