rspec carrierwave应该has_dimensions总是失败:拇指没有调整大小

时间:2011-01-10 17:47:03

标签: rspec ruby-on-rails-3 carrierwave minimagick

我设置了载波,它可以很好地处理我的图像。我在一个子文件夹中获得了很好的大小调整版拇指版本。来自我的前端(HTML)和我的rails console。我使用MiniMagic

但在我的rspec中,拇指测试总是失败。

describe 'processed images' do
  before(:each) do
    AttachmentUploader.enable_processing = true
    AttachmentUploader.enable_processing = true
    @uploader = AttachmentUploader.new(@post, :image)
    @uploader.store!(File.open(@file))
  end

  after(:each) do
    @uploader.remove!
    AttachmentUploader.enable_processing = false
  end

  describe 'the thumb version' do
    it "should scale down ane image to be exactly 50 by 50 pixels" do
      @uploader.recreate_versions!
      @uploader.thumb.should have_dimensions(50, 50)
    end
  end

@file是在灯具中找到的文件。找到并附上(其他测试通过)。如果我注释掉@uploader.remove!行,它就会在例如.../public/uploads/post/image/thumb_fig.png中留下文件。 rails console。 但是,该文件调整大小。当通过{{1}}调用相同的序列时,它可以很好地调整大小。

我在规格中遗漏了什么?我需要设置一个特殊标志吗?强制某个方法运行?

2 个答案:

答案 0 :(得分:1)

这个派对有点晚了,但我自己也在做类似的事情。从我可以告诉你的测试看起来很好,虽然我相信@ uploader.recreate_Versions!没必要。否则请检查以确保您在Uploader类中有一个要处理的调用 你的测试中include CarrierWave::Test::Matchers

答案 1 :(得分:1)

确保您已在config/initializers/carrierwave.rb中启用了对Carrierwave的处理。

应该是:

config.enable_processing = true