rspec carrierwaveはhave_dimensionsが常に失敗するはずです:親指はサイズ変更されていません

StackOverflow https://stackoverflow.com/questions/4649736

質問

CarrierWaveがセットアップされており、画像を正常に処理します。サブフォルダーなどで、よくサイズ変更された親指バージョンを取得します。私のフロントエンド(HTML)と私の両方から rails console. 。私はミニマジックを使用します

しかし、私の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 それはうまくサイズ変更されます。

スペックに何かが足りないのですか?特別なフラグを設定する必要がありますか?特定の方法を実行するように強制しますか?

役に立ちましたか?

解決

このパーティーに少し遅れましたが、自分で似たようなことに取り組んでいます。 @uploader.recreate_versionsだと思いますが、あなたのテストはうまく見えます。不要です。それ以外の場合は、あなたがあなたのアップローダークラスで処理するための呼び出しを持っていることを確認し、あなたがinclude CarrierWave::Test::Matchers あなたのテストで

他のヒント

CarrierWaveの処理を有効にしていることを確認してください config/initializers/carrierwave.rb.

読む必要があります:

config.enable_processing = true
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top