2013-08-23 54 views
1

我正在使用Capybara来测试使用RSpec的Rails应用程序。拨打visit "/bars"可以正确地将我带到bars资源的索引页面。但拨打visit "/bars/1"(其中bar已保存为id 1)神秘地把我带到索引页面,即使用手输入URL也很好。水豚不会去页

索引页,甚至有指向特定bars页面(如"/bars/1"),虽然这些链接在浏览器中完美地工作,水豚,这些路段的click_link需要我,而不是回,你猜对了,索引页。

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

有没有人有任何想法是怎么回事?

回答

0

如果你有“与测试数据库,您可能没有记录有保存它DB”,并且可以在浏览器中查看它,它是发展分贝。水豚的交易。

虽然你不必这样的记录,你可能会设置404重定向到家,这样的结果水豚预计

另一个注意事项,它是不好使用命名id说1在测试中,不能保证你最后插入的记录必须是id 1。更好使用bars_path @barbars_path Bar.last

+0

其实,它原来是一个无关的代码更改,我已经*绝对wou没有任何副作用*;)我正在测试测试数据库中的所有内容,我在我的URL中使用了Bar.last(1仅仅是为了方便),但是您正确地猜出重定向是其中的一部分。标记为正确的,因为它们都是很好的见解。 – JacobEvelyn