Oldukça basit bir sorun yapmak dışında (I düşünce olurdu), ama bazı sorunlar yaşıyorum:Raylar RSpec Yönlendirme: eylemleri Test: DEĞİL rotada
Rails3.1.0.rc6/RSpec 2.6.0 benim 'ürünlerin kaynağın yönlendirme sınamak çalışıyorum, böyle yönlendirilir:
resources :products, :except => [:edit, :update]
geçerli eylemler için yönlendirme çalışır, ancak ben düzenleme ve güncelleme yolları değildir sağlamak istiyoruz çağrılabilir. İşte çalıştığım şey:
it "does not route to #edit" do
lambda { get("/products/1/edit") }.should raise_error
end
Failure/Error: lambda { get("/products/1/edit") }.should raise_error expected Exception but nothing was raised # ./spec/routing/products_routing_spec.rb:11:in `block (3 levels) in '
... Ve yine, ben
it "does not route to #edit" do
get("/products/1/edit").should_not route_to("products#edit", :id => "1")
end
çalıştırdığınızda ben
Failure/Error: get("/products/1/edit").should_not route_to("products#edit", :id => "1") ActionController::RoutingError: No route matches "/products/1/edit"
burada neler olup bittiğini bir fikrin var mı? Tahminimce bu oldukça basit olmalı, ama bunu anlayamıyorum.
Bir kazananımız var. Garip - Ben Rails 2 lambda "yükseltme hatası" işlemek için kullanılan, ama açıkça 3.1 değil düşünüyorum. Be_routable yönteminin farkında bile değildim - çok teşekkürler. – PlankTon
Çok faydalı! Sadece bir hızlı not: Yukarıdaki test, /spec/routing/xxxx.rb içinde OLMALIDIR veya bir hatayla başarısız olur. Örneğin, bunu /spec/requests/xxxx.rb içinde yapamazsınız –