Rails Capybara在表单提交后呈现

时间:2015-08-18 14:28:08

标签: ruby-on-rails ajax unit-testing testing capybara

在我的rails控制器中,我有:

def update
  render @bill if @bill.update(bill_params)
end

在表单上我有一个远程true,因此使用ajax将页面加载到页面上。

但在我的水豚测试中,我有:

fill_in('bill_period', with: @bill.period)
fill_in('bill_groupname', with: @bill.groupname)
click_button 'update bill'
save_and_open_page

页面现在在渲染中打开,而不是应该渲染的页面。它只在通过水豚实现应用程序本身。 如何防止水豚跟随渲染?

1 个答案:

答案 0 :(得分:0)

听起来你正在使用默认的capybara驱动程序(rack_test),它不支持javascript。您需要切换到selenium驱动程序或其他第三方驱动程序才能获得javascript(以及ajax)支持 - https://github.com/jnicklas/capybara#selecting-the-driver