मेरे पास एक रेल 3 एकीकरण परीक्षण है जो मेरे मार्गों का परीक्षण करता है।मैं कैसे दावा कर सकता हूं कि रेल एकीकरण परीक्षण में कोई मार्ग मिलान नहीं है?
assert_routing(
"/#{@category.url.path}/#{@foo.url.path}",
{ :controller => 'foo', :action => 'show', :category => @category.to_param, :foo => @foo.to_param }
)
मैं भी एक मामले में जहां कोई मार्गों से मेल खाना चाहिए परीक्षण करना चाहते हैं: यह इस तरह के रूप परीक्षण में शामिल है। जाहिर है, इस मामले में परीक्षण पीढ़ी का कोई मतलब नहीं है, इसलिए मुझे केवल assert_recognizes के विपरीत की आवश्यकता है। (अब मैं इसके बारे में लगता है कि जो वास्तव में इतना भयानक नहीं है,) एक assert_raises ब्लॉक में
assert_not_recognized('/adfhkljkdhasjklhjkldfahsjkhdf')
कोई भी विचार, लपेटकर assert_recognizes की कमी: मैं कुछ इस तरह करने में सक्षम होना चाहते हैं?
मुझे नहीं लगता कि यह सही जवाब है, कम से कम रेल 4. के रूप में करते हैं "(यदि या तो 1 assert_recognizes {} ..." असफल हो जायेगी), या 2) यदि यह पहचाना जाता है लेकिन {} के अलावा कुछ और (जो हमेशा मामला होना चाहिए, क्योंकि एक मान्यता प्राप्त मार्ग में निम्न शामिल होंगे: क्रिया और नियंत्रक कुंजी)। –
मुझे वास्तव में याद नहीं है कि जब मैं इस मुद्दे पर था, तो मैं किस रेल संस्करण का उपयोग कर रहा था। यह दो साल पहले था। :) –
मैं पुष्टि कर सकता हूं कि यह रेल 3 (3.2.16) में काम करता है, लेकिन रेल 4 (4.0.2) में विफल रहता है। मैं अलग जवाब के रूप में एक और संस्करण जोड़ दूंगा। – user569825