Я хочу создать несколько тестов для моего приложения, и у меня есть следующее сообщение об ошибке:Как проверить загрузку с Carrierwave + FactoryGirl
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)>'
Эта ошибка, потому что у меня есть это на моем factories.rb
файл
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