2012-01-25 62 views
4

我有一個帶有附加文件的橫幅,使用回形針。紙夾將創建「衍生物」用於上載的圖像,使用「樣式」參數:使用Rspec測試回形針圖像樣式

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

我想測試此attached_file代,優選沒有整個往返測試到磁盤等。我可以創建一個橫幅,附加一個文件,然後查看文件系統,如果創建了具有特定尺寸的特定文件,但這違背了我對測試重點部分的想法,而沒有測試整個堆棧。

如何測試附件:image在回形針中是否具有某些樣式?

回答

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 
+0

謝謝。我知道我不需要測試回形針;但是當BDD-ing時,我想寫一個像「it」這樣的測試,首先應該有一個縮略圖「do」,然後執行它。 – berkes

+1

我有空attachment_definitions [:數據]。所以我得到它使用Attachment.attachment_definitions [:attached_file] [:styles] [:small]構造工作。 –