我的测试定义如下:
it "should have allow you to fill out the new form and save a customer" do
customer = Factory.build(:customer)
visit new_customer_path
factory_to_form "customer", customer, ["kf_code", "supported"]
click_button "customer_submit"
current_path.should eq(customer_path(Customer.last))
page.should have_content "created customer"
page.should have_content customer.long_name
end
非常简单,它将客户设置到我的客户工厂,然后使用该工厂的数据(我的factory_to_form宏执行的操作)和点击提交按钮填写新的操作表单。
我的问题是提交按钮似乎永远不会触及创建操作,它会转到“/ customers”而不是保存客户。
表单是标准form_for(@customer)
,按钮只是f.submit
,我无法想到为什么这个表单在浏览器中可以正常工作但在此测试中没有。
为什么水豚不会张贴到正确的位置?
答案 0 :(得分:0)
是否涉及JavaScript?也许尝试使用像Webkit这样的驱动程序。
setup do
Capybara.javascript_driver = :webkit
Capybara.current_driver = Capybara.javascript_driver
end