仍在尝试了解关系并在 rails/rspec 中进行测试。
我有一个应用程序,它有一个模型测验,它属于一个图标模型,并且有很多测验。
我正在尝试测试是否使用 rspec/capybara 和 factory girl 在测验/新页面上创建了一个新测验,以在测试中创建我的数据。
这是我的测试,因为它是..
 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'
所以问题显然是没有可供选择的图标。一个肯定是用工厂女孩方法创建的,因为它可以找到标题,但不会在测试表中复制。我不知道如何让它发挥作用。
任何人都可以在这里提供一些指示吗?
谢谢,马克。