rspec carrierwave should have_dimensions всегда терпит неудачу: большой палец не изменен - PullRequest
0 голосов
/ 10 января 2011

У меня настроена операторская волна, и она отлично обрабатывает мои изображения. Я получаю хорошо измененные версии большого пальца в подпапке и все такое. И из моего интерфейса (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 он изменяется очень хорошо.

Я что-то упустил в своих спецификациях? Нужно ли устанавливать специальный флаг? Принудительно запустить определенный метод?

Ответы [ 2 ]

1 голос
/ 08 марта 2012

Убедитесь, что вы включили обработку для Carrierwave в config/initializers/carrierwave.rb.

Следует читать:

config.enable_processing = true
1 голос
/ 01 марта 2011

немного опоздал на эту вечеринку, но сам работал над чем-то похожим.Из того, что я могу сказать, ваш тест выглядит хорошо, хотя я считаю, что @ uploader.recreate_Versions!не нужноВ противном случае убедитесь, что у вас есть вызов для обработки в вашем классе Uploader и что вы include CarrierWave::Test::Matchers в своих тестах

...