我正在使用RSpec编写我的用户模型规范,我想测试照片上传是否正常工作 - 非常直接。
但我还没有走得太远。我的模型规范的摘录是这样的:
it "does not allow uploading files other than images for avatar" do
user = create(:user)
user.avatar = File.new("#{Rails.root}/public/robots.txt")
end
我创建了我的用户,尝试附加我的文件...但是关于如何实际测试上传或仅仅验证它是否确实是图像(我想上传本身并不是必需的,我只需要验证附件)。不知道。
我已经研究过Paperclip shoulda matchers,例如
it { should validate_attachment_content_type(:icon).
allowing('image/png', 'image/gif').
rejecting('text/plain', 'text/xml') }
但对我而言似乎完全没有意义,因为所有这一切都说它应该验证内容类型。但是呢?我怎么知道它是否有效?如何附加文件并查看是否存在?
我已经搜索了很多,用所有可能的关键字组合来找到答案,但到目前为止没有运气。我只是在某种程度上在概念上没有得到它?我显然是一个初学者,所以请不要因为问你看起来多么愚蠢而烧我。
答案 0 :(得分:0)
您需要查看Paperclip的validate_attachment_content_type
匹配器的来源,以确保您对他们的测试方式感到满意。