在测试 Controller 的 create 方法时,需要对表单中的文件上传进行测试,模型和视图如下:
class Picture < ActiveRecord::Base
mount_uploader :image, PictureUploader #carrierwave上传
validates :image, presence: true
end
<%= form_for @picture, html: {multipart: true} do |f| %>
<%= f.label :image %>
<%= f.file_field :image %>
<% end %>
测试代码如下
class PicturesControllerTest < ActionController::TestCase
#...
test "should create picture" do
post :create, picture: { image: xxx } #怎样写这部分的测试代码
assert_redirected_to picture_path(assigns(:picture))
end
end
如题,怎样写文件上传的测试代码,或者思路 (http 协议/carrierwave 上传),进行测试呢?