使用Rspec测试回形针图像样式

时间:2012-01-25 19:45:11

标签: ruby-on-rails rspec paperclip

我有一个带有附件的横幅,使用回形针。 Paperclip将使用“styles”参数创建上传图像的“衍生物”:

class Banner < ActiveRecord::Base
  has_attached_file :image,
                    :styles => {:medium => "300x300>",
                                :thumb  => "100x100>"}
end

我想测试这个attach_file生成,最好不要测试整个往返到磁盘等等。我可以创建一个Banner,附加一个文件然后查看文件系统,如果创建了某个具有特定尺寸的文件,但这违背了我测试焦点部分的想法,而不测试整个堆栈。

如何测试附加文件:image在Paperclip中是否具有某些样式?

1 个答案:

答案 0 :(得分:1)

所有has_attached_file方法都将传递的定义添加到模型中。这一代是用回形针完成的,不需要进行测试。

来源: https://github.com/thoughtbot/paperclip/blob/master/lib/paperclip.rb#L174

但是,您可以使用attachment_definitions方法测试是否正确创建了定义。像这样:

it "has correct image style geometry" do
   Banner.attachment_definitions[:data][:styles][:medium][:geometry].should == "300x300>"
   Banner.attachment_definitions[:data][:styles][:thumb][:geometry].should == "100x100>"
end