Я пытаюсь создать тест в приложении rails, но не могу найти способ загрузить изображение, и они публикуют его. При запуске теста я получаю «неинициализированная константа ActionController :: TestUploadedFile (NameError)» ошибка (строка 5).Как загрузить изображение для проверки контроллера рельсов?
context "testing user profile uploader" do
let(:user) { FactoryGirl.create(:user, id: 123) }
image = "base/app/assets/images/fallback/default.png"
file = ActionController::TestUploadedFile.new image, "image/png"
post :update, :user => { :profile_image => file }
u = User.find(123)
it "should be able to upload a user's profile image" do
expect(u.profile_image.file).to be_equal "default.png"
end
it "should be able to find profile_avatar for the user's image" do
expect(u.profile_image.versions[:profile_avatar].file).to be_equal "profile_avatar_default.png"
end
it "should be able to find small_avatar for the user's image" do
expect(u.profile_image.versions[:small_avatar].file).to be_equal "small_avatar_default.png"
end
it "should be able to find avatar for the user's image" do
expect(u.profile_image.versions[:avatar].file).to be_equal "avatar_default.png"
end
it "should be able to find large_avatar for the user's image" do
expect(u.profile_image.versions[:large_avatar].file).to be_equal "large_avatar_default.png"
end
end
Что можно сделать для загрузки изображения? Извините, если код ужасен, но я новичок в рубинах/рельсах. Спасибо!
Обновление: Итак, я изменил файл в соответствии с вашим предложением. Единственная проблема теперь в том, что я получаю «инициализировать»: файл base/app/assets/images/fallback/default.png не существует (RuntimeError) «, что имеет смысл, поскольку мое изображение не находится в папке прибора , Приложение немного устарело, поэтому у него нет папок проекта/светильников.