ruby-on-rails - 如何为 Rails 中的文件上传创建集成测试?

标签 ruby-on-rails testing

测试 Rails 应用程序文件上传的最佳方法是什么?我目前正在使用 Paperclip用于上传,但我想这没有太大区别。

我是否应该为文件上传创建测试,还是将其全部 stub 而不创建任何真正的上传测试更好?

假设我有一些测试只是为了上传。 我还应该在测试中包含裁剪吗?

测试图像裁剪的最佳方法是什么?

最佳答案

Cucumber with Webrat 为您提供以下步骤:

When I attach the file at "spec/fixtures/fugu.png" to "file"

您可以在功能中使用它。有关 the official Cucumber site is very helpful 的更多信息.

其次,要测试裁剪,您可以为此编写一个自定义步骤:

Then /^the image "(.*?)" should be (\d+)x(\d+)$/ do |id, width, height|
  image = Nokogiri::HTML(response.body).css("##{id}")
  image["width"].should eql(width)
  image["height"].should eql(height)
end

关于ruby-on-rails - 如何为 Rails 中的文件上传创建集成测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1627987/

相关文章:

testing - 测试人员应该了解多少代码的内部细节?

android - Realm 数据库的仪器测试给出了 "Call ' Realm.init(Context )' before creating Realmconfiguration"即使我称之为

ruby-on-rails - Rails 4 session cookie 未设置

javascript - 我可以在 Ruby on Rails 中使用 JavaScript 部分吗? Partial 正在尝试以 HTML 形式呈现

ruby-on-rails - TextMate js.erb : toggle <%= %>, <% %>

unit-testing - 功能复杂的TDD如何应用?

ios - 为什么我可以在 browserstack 中自动化 .ipa 文件而不是模拟器

ruby-on-rails - Rails 如何在 textarea 上禁用 tinymce?

ruby-on-rails - 设置数据-*属性

javascript - vimscript 替换最后一次出现(用于打开相应的测试/规范文件)