1

rspec と capybara を使用して、carrierwave アップロード機能をテストしています。私は次のようなものを持っています:

describe "attachment" do
    let(:local_path)  { "my/file/path" }
    before do
      attach_file('Attachment file', local_path)
      click_button "Save changes"       
    end

    specify {user.attachment.should_not be_nil}
    it { should have_link('attachment', href: user.attachment_url) }
end

そして、これはうまく機能します。問題は、テストした後、アップロードされた画像が public/uploads ディレクトリに残ることです。テストが完了したら、どのように削除できますか? 私はこのようなことを試しました:

after do
   user.remove_attachment!
end

しかし、うまくいきませんでした。

4

4 に答える 4

5

Carrierwave でファイルを削除する際に問題を抱えているのは、あなただけではありません。

私はやった:

user.remove_attachment = true
user.save

これを読んでこのヒントを得ました。

于 2012-09-10T12:58:05.187 に答える