Тестирование загрузки файла Paperclip с помощью RSpec - PullRequest
6 голосов
/ 29 июля 2010

Меня не волнует тестирование загрузки файлов, но, поскольку в моей модели есть validates_attachment_presence и т. Д., Rspec жалуется.

Итак, теперь я создаю свою модель с этими атрибутами в спецификации, чтобы попытаться закрыть ее:

@attr = {
  :name => "value for name",
  :title => "value for title",
  :content => "value for content",
  :pic_file_name => "example.jpg",
  :pic_content_type => "image/jpg",
  :pic_file_size => "8192",
  :pic_updated_at => nil
}

Хотя это не работает.

Я нашел это: http://fr.ivolo.us/posts/mocking-paperclip-with-rspec Поэтому я попробовал что-то вроде этого:

Post.should_receive(:save_attached_files).and_return(true)

Что тоже не работает. Как мне успокоить RSpec?

1 Ответ

10 голосов
/ 01 августа 2010

Если модель has_attached_file :pic, вы должны иметь возможность просто указать атрибут pic на некоторый файл, и все должно быть денди.

Значение что-то вроде @attr = { :pic => File.open(File.join(Rails.root, 'spec', 'fixtures', 'file.png')) }

...