【发布时间】:2011-08-23 09:24:34
【问题描述】:
我有一个 CarrierWave::Uploader 可以生成三个版本的上传图片。
# Process files as they are uploaded:
process :resize_to_fit => [400, 400]
# Create different versions of your uploaded files:
version :thumb do
process :resize_to_fit => [60, 60]
end
version :small do
process :resize_to_fit => [24, 24]
end
在我的测试中,我尝试验证生成图像的尺寸
require 'spec_helper'
require 'carrierwave/test/matchers'
describe 'manufacturer logo uploader' do
include CarrierWave::Test::Matchers
before(:each) do
image_path = Rails.root.join('test/fixtures/images', 'avatar100.gif').to_s
@manufacturer = Factory.create(:manufacturer, :page_status => 1)
@manufacturer.logo_image = File.open(image_path)
@manufacturer.save!
end
context "manufacturer logo dimensions" do
it "should have three versions" do
@manufacturer.logo_image.should have_dimensions(400,400)
@manufacturer.logo_image.thumb.should have_dimensions(60,60)
@manufacturer.logo_image.small.should have_dimensions(24,24)
end
end
end
但此测试取决于实际图像,resize_to_fit 不一定会将其调整到指定尺寸。关于如何使用存根进行测试的任何想法?
【问题讨论】:
-
你有没有在这方面取得任何进展?我也有类似的问题。
-
@BenU 不,我想我找不到更好的解决方案
标签: ruby-on-rails-3 rspec rspec2 carrierwave