Довольно простая проблема (я бы подумал ), но у меня возникли некоторые проблемы:
В 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"
Есть идеи, что здесь происходит? Думаю, это должно быть довольно просто, но я не могу этого понять.