निष्पादित करता है, मैं यह जांचना चाहता हूं कि कोई विधि बिल्कुल (n) बार, लेकिन कहलाती है, फिर भी मैं उस विधि को अपना मूल कार्य करने के लिए चाहता हूं। एक थंबनेल फ़ाइल को कैश करने वाली एक साधारण थंबनेलिंग सिस्टम पर विचार करें और सुनिश्चित करें कि ImageMagick का "कन्वर्ट" निष्पादन योग्य है जो थंबनेल बनाता है केवल पहले अनुरोध पर कॉल किया जाता है।rspec 2: विधि को कॉल का पता लगाएं लेकिन फिर भी यह अपने फ़ंक्शन
it "this passes: should detect a cached version" do
thumbnail_url = thumbnail_url_for("images/something.jpg")
get thumbnail_url
last_response.should be_ok
Sinatra::Thumbnail.should_not_receive(:convert)
get thumbnail_url
last_response.should be_ok
end
it "this fails: should detect a cached version" do
Sinatra::Thumbnail.should_receive(:convert).exactly(1).times
thumbnail_url = thumbnail_url_for("images/something.jpg")
get thumbnail_url
last_response.should be_ok
get thumbnail_url
last_response.should be_ok
end
मेरे मामले में मैं अपने पहले ही प्रयास के साथ भाग मिलता है, लेकिन ऐसे मामले भी हो सकता है, जहां मैं नहीं है। दूसरा एक विफल रहता है क्योंकि कॉल Thumbnail.convert
पता चला है लेकिन विधि स्वयं कुछ भी नहीं करती है। क्या विधि को कॉल का पता लगाने का कोई तरीका है और क्या यह मूल बात है?
Btw: मुझे लगता है इस question बहुत समान है, लेकिन फिर मैं वर्णन में खो और यह भी अनुत्तरित है ...
धन्यवाद, एक आकर्षण की तरह काम किया! – thomax