在rspec中使用post请求传递图像(回形针)

时间:2013-04-03 13:49:40

标签: ruby-on-rails rspec paperclip rspec-rails

Failure/Error: post :create, Devise.token_authentication_key => @foo.authentication_token, receipt_image: "foo.png"
 Paperclip::AdapterRegistry::NoHandlerError: No handler found for "foo.png"

如何在rspec代码中传递图像,我也尝试使用curl命令的@ foo.png。

1 个答案:

答案 0 :(得分:6)

在模型级别,您需要将打开的图像传递给它:

@foo.image = File.open(Rails.root.join("spec", "fixtures", "sticker.jpg"))
@foo.save!

在控制器级别上,您传递一个String,即图像的路径。这是最好的绝对路径。

params[:foo][:image] = Rails.root.join("spec", "fixtures", "sticker.jpg")
post :new, params