【发布时间】:2011-05-29 12:51:36
【问题描述】:
我正在向远程存储文件的 Rails 应用程序添加测试。我正在使用默认的 Rails 功能测试。如何向它们添加文件上传?我有:
test "create valid person" do
post(:create, :person => { :avatar => fixture_file_upload('avatar.jpeg') })
end
由于某种原因,这会上传 Tempfile 并导致 AWS/S3 gem 失败:
NoMethodError: undefined method `bytesize' for Tempfile
他们有什么方法可以让我使用ActionDispatch::Http::UploadedFile 进行测试,并且表现得更像使用网络浏览器进行测试时的表现吗? fixture_file_upload 是测试将文件上传到控制器的方法吗?如果是这样,为什么它不像浏览器那样工作?
请注意,我真的不想切换测试框架。谢谢!
【问题讨论】:
标签: ruby-on-rails ruby gem functional-testing