rails/rspec での関係とテストについて、まだ頭を悩ませようとしています。
Icon モデルに属しているモデル Quizzes を持ち、has_many quizzes を持つアプリがあります。
テストでデータを作成するために rspec/capybara と factory girl を使用して quiz/new ページで新しいクイズが作成されることをテストしようとしています。
ここに私のテストがあります..
describe "new quiz page" do
let(:user) { FactoryGirl.create(:user) }
let(:icon) { FactoryGirl.create(:icon) }
before do
sign_in user
visit new_quiz_path
end
....
describe "with valid info" do
before do
fill_in "Title", with: "Example title"
fill_in "Description", with: "Example quiz description"
select icon.title, from: "quiz_icon_id"
end
it "should create new content" do
expect { click_button submit }.to change(Quiz, :count).by(1)
end
end
end
私が得ているrspecエラーは...
Failure/Error: select icon.title, from: "quiz_icon_id"
Capybara::ElementNotFound:
cannot select option, no option with text 'Icon 1' in select box 'quiz_icon_id'
したがって、明らかに問題は、選択できるアイコンがないことです。タイトルを見つけることはできますが、テストフォームでは複製されないため、1つは間違いなくファクトリーガールメソッドで作成されています. これを機能させる方法が頭に浮かびません。
誰かがここでいくつかの指針を提供できますか?
ありがとう、マーク。