rspec

2011-05-09 10 views
13

के साथ घोंसला वाले मार्गों का परीक्षण मैं rspec के साथ मार्गों का परीक्षण करने की कोशिश कर रहा हूं। निम्नलिखित "वास्तविक मान वापस करने के लिए अपेक्षित ब्लॉक" की त्रुटि देता है।rspec

मुझे यकीन नहीं है कि मैं क्या खो रहा हूं। एक ब्राउज़र के माध्यम से मैं इस यूआरएल पर पोस्ट कर सकता हूं और यह सफल है।

कोई विचार? धन्यवाद!

मार्गों

resources :forum_topics do 
    resources :forum_sub_topics 
end 

टेस्ट:

it "recognizes and generates nested #create" do 
    { :post => "/forum_topics/1/forum_sub_topics" }.should route_to(:controller => "forum_sub_topics", :action => "create", :forum_topic_id => 1) 
end 
+0

त्रुटि का बैकट्रैक प्राप्त करने के लिए '-b' विकल्प के साथ' rspec' चलाने का प्रयास करें। –

+3

मुझे नहीं लगता कि ': forum_topic_id' वास्तव में एक पूर्णांक होगा। कोशिश करें ': forum_topic_id =>' 1'' –

+0

रोब एस का सटीक उत्तर है, मैं बस मजेदार के लिए कोशिश करूंगा। –

उत्तर

10

खैर कोई भी आधिकारिक तौर पर मेरे प्रश्न का उत्तर है, इसलिए मैं :) जाएगा

{ :post => "/forum_topics/1/forum_sub_topics" }.should route_to(:controller => "forum_sub_topics", :action => "create", :forum_topic_id => 1) 

यह करने के लिए नीचे आता है: forum_topic_id => 1 नहीं इसके बराबर होने के कारण: forum_topic_id => "1" शायद मेरे PHP दिनों ने मुझे काटने के लिए तैयार किया है। तार और पूर्णांकों :)

+1

ditto मेरे लिए php टिप्पणी। धन्यवाद। –

+0

जब मैंने ऐसा किया, तो आईडी (1) को एक स्ट्रिंग "1" –

+0

होने की आवश्यकता है, यदि आपको सही है तो आपको अपना जवाब स्वीकार करना चाहिए :) – Rimian

8

मैं जानता हूँ कि यह एक ही बात करने के लिए नीचे आता है लेकिन यदि आप अपने कोड आप कर सकते थे छोटा करने के लिए करना चाहते हैं भी कार्य करें:

{ :post => "/forum_topics/1/forum_sub_topics" }.should route_to("forum_sub_topics#create", :forum_topic_id => 1) 

मैं इसे पढ़ने में आसान लगता है।

+0

यह वास्तव में @recursive_acronym से उत्तर के विपरीत मेरे लिए काम करता है। रिकर्सिव का उत्तर पेरेंट नियंत्रक को देखने लगता है। वैसे भी, जानकारी के लिए धन्यवाद! –

 संबंधित मुद्दे