Carrierwave + FactoryGirlでアップロードをテストする方法:私は私のfactories.rb
ファイル上でこれを持っているので、私は私のアプリのためにいくつかのテストを作成したいと、私は次のエラー持っ
1) User feeds ordering should order feeds by id desc
Failure/Error: @post_1 = FactoryGirl.create(:post)
ActiveRecord::AssociationTypeMismatch:
Attachment(#87413420) expected, got Rack::Test::UploadedFile(#81956820)
# ./spec/models/user_spec.rb:37:in `block (3 levels) in <top (required)>'
このエラーはあるが
factory :post do
title "Lorem Ipsum"
description "Some random text goes here"
price "500000"
model "S 403"
makes "Toyota"
prefecture "Aichi-ken"
contact_info "ryu ryusaki"
year "2012"
shaken_validation "dec/2014"
attachments [ Rack::Test::UploadedFile.new(Rails.root.join("spec/fixtures/files/example.jpg"), "image/jpeg") ]
#attachments [ File.open(Rails.root.join("spec/fixtures/files/example.jpg")) ]
end
テストではAttachment
オブジェクトが必要ですが、Rack::Test::UploadedFile
オブジェクトを作成しています。このエラーを解決するにはどうすればよいですか?
ありがとうございました。
ありがとうございました。私は昨日答えを見つけただけで、ここで自分の投稿を更新するのを忘れてしまった。だから私はあなたの答えを正しいものとして受け入れます。 :) –
恐ろしい!うまくいけば、これは将来誰かに役立つことができます。 – sybohy
私はRails 4を使用していて、fixture_file_uploadはRails.rootを追加していたので、私は単純にtodo fixture_file_upload( "example.csv")を持っていた。 – jspooner