काफी सरल समस्या करते हैं (मैं सोचा होगा), लेकिन मुझे कुछ समस्याएं आ रही हैं:रेल RSpec रूटिंग: में कार्रवाई का परीक्षण: को छोड़कर मार्ग नहीं
रेल में 3.1.0.rc6/RSpec 2.6.0 , मैं अपने 'उत्पाद' संसाधन के मार्ग का परीक्षण करने के कोशिश कर रहा हूँ, इस तरह से कराई:
resources :products, :except => [:edit, :update]
वैध कार्यों के लिए मार्ग से काम करता है, लेकिन मैं यह सुनिश्चित करें कि संपादित करें और अद्यतन मार्गों नहीं हैं चाहते हैं प्रतिदेय। मैं
Failure/Error: get("/products/1/edit").should_not route_to("products#edit", :id => "1") ActionController::RoutingError: No route matches "/products/1/edit"
किसी भी विचार यहाँ क्या हो रहा है मिलता है,
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 '
... और फिर भी जब मैं
it "does not route to #edit" do
get("/products/1/edit").should_not route_to("products#edit", :id => "1")
end
चलाएँ: यहाँ मैं क्या कोशिश कर रहा हूँ है? मुझे लगता है कि यह बहुत आसान होना चाहिए, लेकिन मुझे इसे समझने की प्रतीत नहीं हो रही है।
हमारे पास एक विजेता है। अजीब - मुझे लगता है कि रेल 2 "लम्बाई त्रुटि" को संभालने के लिए प्रयोग किया जाता है, लेकिन स्पष्ट रूप से 3.1 नहीं। Be_routable विधि के बारे में भी पता नहीं था - बहुत धन्यवाद। – PlankTon
बहुत उपयोगी! बस एक त्वरित नोट: उपरोक्त परीक्षण /spec/routing/xxxx.rb में होना चाहिए या यह किसी त्रुटि के साथ विफल हो जाएगा। उदाहरण के लिए, आप इसे /spec/requests/xxxx.rb में नहीं कर सकते हैं –