![](/img/trans.png)
[英]Rspec and Capybara throw inconsistent Postgresql errors each time I run my tests
[英]inconsistent Rspec/Capybara tests
我已經在我的routes.rb文件中注釋了[獲取“頁面/主頁”],重新啟動了整個測試環境,並且以下測試仍通過:
it "should contain 'This is a test'" do
get 'home'
response.body.should have_selector("p")
end
據我了解,capybara從內存中的“瀏覽器”運行rspec測試。 在這種情況下,必須存在鐵軌路線! 在注釋掉我的路由后,它仍然能夠加載頁面-我知道這是因為如果刪除<p>
選擇器,則測試將失敗。 修改routes.rb文件后,我重新啟動了測試套件,但這沒有什么不同。
這使我對測試過程失去了信任,因為我有不應該通過的測試!
看來此片段在控制器規格中,直接打到您的控制器上。 在最新版本的rspec 2.9.0中,錯誤的路由不會使此示例失敗。 路由超出了控制器規范的范圍。
似乎您打算編寫一個請求規范,該規范應使用capybara的visit
方法:
# spec/requests/something_spec.rb
require 'spec_helper'
describe 'home page' do
it "should contain 'This is a test'" do
visit '/pages/home'
page.should have_content 'This is a test'
end
end
有關更多示例,請參見capybara文檔 。 Rspec還支持路由規范 ,但我通常僅將其用於異常路由。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.