我在测试图像下载方面遇到了困难。
def download_img
@image = Photo.find params[:id] unless params[:id].nil?
@c = Cat.find params[:cat_id] unless params[:cat_id].nil?
@foo = @image.foo unless @image.nil?
send_file(Paperclip.io_adapters.for(@image.file).path, type: "jpeg", :disposition => "attachment", :filename => @image.name)
end
我的RSpec测试(控制器):
describe 'download_img' do
before do
get :download_img, { id: image.id }
end
it 'retrieves image by id' do
img = Photo.find image.id
expect(img).not_to be_nil
end
it 'downloads image' do
page.response_headers["Content-Type"].should == "application/jpg"
page.response_headers["Content-Disposition"].should == "attachment; filename=\"image.name.jpg\""
end
end
当我为两个测试运行rspec测试时,我收到一个错误:"没有这样的文件或目录@ rb_sysopen - /home/public/system/photos/files/000/000/001/foo/IMG123.JPG& #34;
谢谢。
答案 0 :(得分:0)
image
中你所指的Photo.find image.id
来自灯具吗?请您检查一下夹具中是否有相应的文件。我想你必须改变灯具中的路径并创建该文件,它的一个好地方是spec/fixtures
。