Все примеры маршрутизации не работают для движка Rails 3.2 с RSpec 2.10

Я создал Rails Engine в обычным способом , установил RSpec и сгенерировал каркас для модели, но не могу передать какие-либо спецификации маршрутизации.

Вот один пример:

describe Licensing::LicensesController do
  it 'routes to #index' do
    get('/licensing/licenses').should route_to('licensing/licenses#index')
  end
end

Я запускаю примеры в фиктивном приложении вот так:

$ cd spec/dummy
$ rake spec
/Users/brandan/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -S rspec../routing/licensing/licenses_routing_spec.rb
F

Failures:

  1) Licensing::LicensesController routes to #index
     Failure/Error: get('/licensing/licenses').should route_to('licensing/licenses#index')
       No route matches "/licensing/licenses"
     # /Users/brandan/repos/licensing/spec/routing/licensing/licenses_routing_spec.rb:5:in `block (2 levels) in '

Finished in 0.04345 seconds
1 example, 1 failure

Двигатель установлен правильно в фиктивном приложении:

# spec/dummy/config/routes.rb
Rails.application.routes.draw do
  mount Licensing::Engine => "/licensing"
end

И я могу зайти в фиктивное приложение, запустить консоль и получить этот маршрут просто отлично:

1.9.3p194 :001 > app.get('/licensing/licenses')
  Licensing::License Load (0.3ms)  SELECT "licensing_licenses".* FROM "licensing_licenses" 
200
1.9.3p194 :002 > app.response.body
"..."

Есть некоторое несоответствие между фиктивным приложением и RSpec, и я не могу понять, что это такое. Я нашел несколько статей, в которых утверждается, что они решают эту проблему, но ни одна из них не помогла, а некоторые из них относятся к Rails 3.1 :

Кто-нибудь решил эту проблему в Rails 3.2/RSpec 2.10?

8
задан Brandan 3 August 2012 в 12:40
поделиться