【发布时间】:2012-04-12 17:14:24
【问题描述】:
我已经在我的 routes.rb 文件中注释掉了 [get "pages/home"],重新启动了我的整个测试环境并且以下测试仍然通过:
it "should contain 'This is a test'" do
get 'home'
response.body.should have_selector("p")
end
据我了解,capybara 从内存中的“浏览器”运行 rspec 测试。如果是这种情况,rails 路线必须存在!注释掉我的路线后,它仍然能够加载页面 - 我知道这一点,因为如果我删除 <p> 选择器,测试将失败。修改 routes.rb 文件后,我重新启动了我的测试套件,但没有任何区别。
这让我对测试过程失去了信任,因为我通过了不应该通过的测试!!
【问题讨论】:
-
向我们展示完整的
_spec.rb。也许你在某处有before(:each)和get 'home'。
标签: ruby-on-rails rspec capybara