RSpec

2010-07-28 18 views
6

के साथ पेपरक्लिप फ़ाइल अपलोड करने का परीक्षण करना मुझे वास्तव में फ़ाइल अपलोड का परीक्षण करने की परवाह नहीं है, लेकिन मेरे मॉडल में validates_attachment_presence, आदि है .. rspec शिकायत कर रहा है।RSpec

तो अब मैं कल्पना में इन विशेषताओं के साथ अपने मॉडल का निर्माण कर रहा हूँ कोशिश करते हैं और इसे बंद करने के लिए:

@attr = { 
    :name => "value for name", 
    :title => "value for title", 
    :content => "value for content", 
    :pic_file_name => "example.jpg", 
    :pic_content_type => "image/jpg", 
    :pic_file_size => "8192", 
    :pic_updated_at => nil 
} 

यह काम नहीं करता है, हालांकि।

मैंने पाया इस:

Post.should_receive(:save_attached_files).and_return(true) 

जो या तो काम नहीं करता: http://fr.ivolo.us/posts/mocking-paperclip-with-rspec तो मैं कुछ इस तरह की कोशिश की। मैं आरएसपीसी कैसे खुश करूं?

+1

संभव डुप्लिकेट http://stackoverflow.com/questions/2256012/unit-testing-paperclip-uploads-with-rspec- रेल) –

उत्तर

10

यदि मॉडल has_attached_file :pic है, तो आप कुछ फ़ाइल में pic विशेषता को इंगित करने में सक्षम होना चाहिए और सभी को बेवकूफ होना चाहिए।

@attr = { :pic => File.open(File.join(Rails.root, 'spec', 'fixtures', 'file.png')) } की तरह कुछ मतलब

([Rspec (रेल) के साथ इकाई परीक्षण पेपरक्लिप अपलोड] की
+0

यह मेरे लिए काम करता था, लेकिन 2.5.0 से पेपरक्लिप 3.1.4 में अपग्रेड करते समय काम नहीं करता है। –

+0

@ डेविड एन। वेलटन किस प्रकार की त्रुटि (यदि कोई है) आपको मिलता है? मुझे पेपरक्लिप 3 के साथ बहुत अधिक अनुभव नहीं है। – theIV

+0

यह क्या तय कर रहा था: 'mymodel.attachedimage = file.open (....)' 'संलग्न छवि =" फ़ाइल/स्थान/foo.jpg "' –

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