Как проверить маршруты в плагинах Rails 3? - PullRequest
8 голосов
/ 08 августа 2010

Я пытался использовать рекомендованный способ (из Руководств по Rails) для тестирования маршрутов, сгенерированных в плагинах, но тест продолжает давать сбой.

Что странно, если я перезагружаю маршруты ПОСЛЕ создания маршрута(или я так думаю), тест не пройден, но если я позволю тесту пройти один раз (например, с помощью автотеста), то маршрут будет распознан при последующих попытках.

Вот код:

describe "named route report_with_last_name_smith_path" do
  before :all do
    Reports::Application.routes.draw do
        match "/report_some_report_for_us" => "report#report_some_report_for_us", 
              :as => :report_some_report_for_us
    end
    Rails.application.reload_routes! # If I leave this out, then the test
                                     # passes the second time that autotest/autospec
                                     # go through.
  end
  it "route for every record" do
    {:get => '/report_some_report_for_us'}.should route_to(:controller => 'report', :action => 'report_some_report_for_us')
  end
end

Есть идеи, как заставить его все время проходить?

1 Ответ

1 голос
/ 23 сентября 2010

Хм. README для rspec-rails-2 для rails-3 в http://github.com/rspec/rspec-rails имеет раздел «Спецификации маршрутизации». Нет необходимости в before :all с последним RSpec, возможно?

...