Тестирование страниц ошибок в Rails с помощью Rspec + Capybara

В Rails 3.2.9 у меня есть пользовательские страницы ошибок, которые определяются следующим образом:

# application.rb
config.exceptions_app = self.routes

# routes.rb
match '/404' => 'errors#not_found'

Который работает как ожидалось. Когда я установилconfig.consider_all_requests_local = false вdevelopment.rb Я получаюnot_found просмотр при посещении/foo

Но как мне проверить это с Rspec + Capybara? I '

мы пробовали это:

# /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

Когда я запускаю эту спецификацию, я получаю:

1) not found page should respond with 404 page
  Failure/Error: visit '/foo'
  ActionController::RoutingError:
    No route matches [GET] "/foo"

Как я могу проверить это?

Редактировать:

Забыл упомянуть: яустановитьconfig.consider_all_requests_local = false вtest.rb

Ответы на вопрос(4)

Ваш ответ на вопрос