我并不真正关心测试文件上传,但由于我的模型中有validates_attachment_presence
等等,因此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
}
但这不起作用。
我发现了这个:http://fr.ivolo.us/posts/mocking-paperclip-with-rspec 所以我试过这样的事情:
Post.should_receive(:save_attached_files).and_return(true)
哪个也不起作用。我如何安抚RSpec?
答案 0 :(得分:10)
如果是模型has_attached_file :pic
,您应该只能将pic
属性指向某个文件,而且所有属性都应该是花花公子。
含义如@attr = { :pic => File.open(File.join(Rails.root, 'spec', 'fixtures', 'file.png')) }