ruby-on-rails - 回形针/Rspec 测试 : Is there a faster way to test paperclip validates_attachment_content_type?

标签 ruby-on-rails rspec paperclip shoulda paperclip-validation

我注意到的一件事是,在我所做的大多数项目中,一个总是需要很长时间(30 秒以上)的规范是这个 shoulda/paperclip helper:

it { should validate_attachment_content_type(:bannerimage)
  .allowing('image/png', 'image/jpeg', 'image/gif', 'image/jpg')
  .rejecting('text/plain')
}

我很想保留内容类型验证,但我想知道是否有更快的方法来做到这一点。我已经用 :slow 标记了这些测试,并在没有 :slow 规范的情况下运行 rspec,但尽管如此,我还是希望有人有一种更快的方法来测试图像内容类型。

最佳答案

看起来您正在针对回形针运行自己的测试。

通常,我让 gem 供应商(尤其是像这样的大型产品)证明他们的规范会在发布之前成功运行。

我从我的测试中剔除实际的回形针东西,使它们像这样更快,放在 spec_helper.rb

# stub out paperclip? http://pivotallabs.com/stubbing-out-paperclip-imagemagick-in-tests/
# only like .1 seconds faster anyways though...
module Paperclip
  def self.run cmd, params = "", expected_outcodes = 0
    case cmd
    when "identify"
      return "100x100"
    when "convert"
      return
    else
      super
    end
  end
end

class Paperclip::Attachment
  def post_process
  end
end

关于ruby-on-rails - 回形针/Rspec 测试 : Is there a faster way to test paperclip validates_attachment_content_type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8146893/

相关文章:

ruby-on-rails - RSpec 助手规范模拟 ActiveRecord

ruby-on-rails - 回形针:无法附加 XLS(但 DOC 可以)

ruby-on-rails-3 - 上传附件时没有调用回形针,所以附件没有保存。 Rails3 + 上传

ruby-on-rails - 无法使用 ruby​​ on rails 和 paperclip gem 上传 zip 文件

ruby-on-rails - Rails 查看规范 : referenced partials of inherited controllers aren't found

ruby-on-rails - 在 Ruby on Rails 中处理地理区域的正确方法是什么?

ruby-on-rails - rails 3 : What happens after a form button is pressed?

ruby-on-rails - Stripe webhook 身份验证 - Ruby

ruby-on-rails - PostgreSQL 按两个日期中最旧的日期排序?

ruby-on-rails - 在 Rspec 中测试 Controller 的新 Action