परीक्षण कैसे एक नियंत्रक कार्रवाई है कि एक फ़ाइल भेजता है परीक्षण करने के लिए?RSpec send_file
अगर मैं controller.should_receive(:send_file)
परीक्षण के साथ यह करना "टेम्पलेट मिसिंग यू" क्योंकि कुछ भी प्रदान नहीं किया जाता है के साथ विफल रहता है।
परीक्षण कैसे एक नियंत्रक कार्रवाई है कि एक फ़ाइल भेजता है परीक्षण करने के लिए?RSpec send_file
अगर मैं controller.should_receive(:send_file)
परीक्षण के साथ यह करना "टेम्पलेट मिसिंग यू" क्योंकि कुछ भी प्रदान नहीं किया जाता है के साथ विफल रहता है।
एक और तरीका है कि काम करता है:
controller.should_receive(:send_file).and_return{controller.render :nothing => true}
मेरे लिए
, इस तथ्य को दर्शाता है कि send_file
का उद्देश्य पक्ष प्रभाव यह व्यवस्था करना है कि कुछ भी नहीं दिया जाएगा। (हालांकि, यह बेशक थोड़ा wonky ठूंठ मूल वस्तु पर एक विधि कॉल करने के लिए लगता है।)
रेल 4, RSpec 3:' 'and_return {value}' मान्य नहीं है। इसके बजाए 'and_return' के बिना 'and_return (value)' या कार्यान्वयन ब्लॉक का उपयोग करें –
तुम भी ऐसा कर सकते हैं:
result = get ....
result.body.should eq IO.binread(path_to_file)
अच्छा, मैं क्यों इस बात का नहीं सोचा था :) – Mirko
आरएसपीसी के नए संस्करणों का उपयोग करके इसे देखने वाले किसी के लिए, 'stub!' को बहिष्कृत कर दिया गया है। बस का उपयोग करें 'stub' –
और Rspec 3 में, यह' (नियंत्रक) प्राप्त करें.अभियान अनुमति देने के है (: प्रस्तुत करना) ' – mehulkar