2015-05-21 4 views
1

Я пытаюсь создать тест в приложении 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) «, что имеет смысл, поскольку мое изображение не находится в папке прибора , Приложение немного устарело, поэтому у него нет папок проекта/светильников.

ответ

Смежные вопросы