我正在进行集成测试,我必须填充一些隐藏的字段。这个问题似乎没有被考虑在内
it "submits project form" do
page.all("#project_description", :visible => false).set(@project.description)
click_button "submit"
expect(page).to have_content @project.description
end
问题是我在启动任务Description can't be blank
时收到此错误消息。我确信hidden field
已找到,但填充没有完成。我该如何解决? (我将Capybara.ignore_hidden_elements
设置为false
)
答案 0 :(得分:2)
它可能不是最好的解决方案,但您可以使用javascript完成。例如,如果您使用的是jQuery:
page.execute_script "$('#project_description').val('#{@project.description}')"
如果'
中有一些@project.description
个字符,则需要将它们转义(请参阅JavaScriptHelper,不知道如何在集成测试中使用它。)