Rails RSpec Routing: Тестирование действий в: кроме НЕ маршрутизировать

Довольно простая проблема (я бы подумал ), но у меня возникли некоторые проблемы:

В Rails 3.1.0.rc6 / RSpec 2.6.0 я пытаюсь протестировать маршрутизацию моего ресурса «продукты», маршрутизируемого следующим образом:

resources :products, :except => [:edit, :update]

Маршрутизация для допустимых действий работает, но я хочу убедиться, что маршруты редактирования и обновления не вызываются . Вот что я пытаюсь:

it "does not route to #edit" do
  lambda { get("/products/1/edit") }.should raise_error
end

Сбой / Ошибка: лямбда {get ("/ products / 1 / edit")} .should raise_error ожидалось исключение, но ничего не возникло # ./spec/routing/products_routing_spec.rb:11:in `block (3 уровня) in '

... И все же, когда я запускаю

it "does not route to #edit" do
  get("/products/1/edit").should_not route_to("products#edit", :id => "1")
end

, я получаю

Failure / Error: get ("/ products / 1 / edit"). should_not route_to ("продукты # редактировать",: id => "1") ActionController :: RoutingError: Ни один маршрут не соответствует "/ products / 1 / edit"

Есть идеи, что здесь происходит? Думаю, это должно быть довольно просто, но я не могу этого понять.

8
задан PlankTon 28 August 2011 в 08:54
поделиться