In Rails 3.2.9 I have custom error pages defines like this:
# application.rb
config.exceptions_app = self.routes
# routes.rb
match '/404' => 'errors#not_found'
Which works like expected. When I set config.consider_all_requests_local = false
in development.rb
I get the not_found
view when visiting /foo
But how do I test this with Rspec + Capybara?
I've tried this:
# /spec/features/not_found_spec.rb
require 'spec_helper'
describe 'not found page' do
it 'should respond with 404 page' do
visit '/foo'
page.should have_content('not found')
end
end
When I run this spec I get:
1) not found page should respond with 404 page
Failure/Error: visit '/foo'
ActionController::RoutingError:
No route matches [GET] "/foo"
How can I test this?
Edit:
Forgot to mention: I've set config.consider_all_requests_local = false
in test.rb
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…