2013-08-23 49 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