Capybara不会去页面

时间:2013-08-23 07:19:19

标签: ruby-on-rails rspec capybara

我正在使用Capybara使用RSpec测试Rails应用程序。正确调用visit "/bars"会将我带到bars资源的索引页面。但是,调用visit "/bars/1"(其中bar已保存id 1)神秘地将我带到索引页面,即使手动输入网址也可以正常工作。

索引页面甚至包含指向特定bars页面的链接(例如"/bars/1"),虽然这些链接在浏览器中运行良好,但这些链接上的Capybara click_link会将我带回 - 你猜对了 - 索引页面。

在这两种情况下,show控制器中的bars方法在使用Capybara时甚至都不会被调用,但是当我在浏览器中点击时会调用它。

有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:0)

如果您已“将其保存到数据库”并可以在浏览器中查看,则它是开发数据库.Capybara处理测试数据库,您可能没有那里的记录。

虽然您没有这样的记录,但您可以将404重定向设置为主页,但预计Capybara会产生此类结果。

另一方面,在测试中使用名为id的1并不好。无法保证您上次插入的记录必须为ID 1.最好使用bars_path @barbars_path Bar.last