【问题标题】:Test file image size validation with rspec without using a large file in fixtures使用 rspec 测试文件图像大小验证,而不在夹具中使用大文件
【发布时间】:2011-06-01 12:00:40
【问题描述】:

我在 rails 3 中使用回形针,我想确保我的应用程序不允许用户上传大图像。

我可以使用这样的夹具来测试文件的存在和图像的 mime 类型:

it "is not valid without an image" do
  @post.image = nil
  @post.should_not be_valid
end

it "is not valid with the wrong file extension" do
  @post.image = File.new(Rails.root + 'spec/fixtures/images/rails.bmp')
  @post.should_not be_valid
end

这些测试工作得很好。但我不想在我的夹具中使用大型二进制文件进行测试。我不想在我的代码库中有一个 6Mb 的文件用于测试目的。

如何在测试期间以某种方式模拟图像或创建图像文件而不是使用夹具?我应该费心测试这个吗?

非常感谢...

【问题讨论】:

  • 我也有同样的问题。你有没有想出办法?
  • 抱歉,时间太早了。 :) 下面的答案有帮助吗?
  • 我最终通过在测试之前创建临时文件并在之后删除它们来滚动自己。我只是复制一个用于其他验证的小文件并截断​​到所需的长度。

标签: ruby-on-rails-3 rspec2


【解决方案1】:

如果你安装了 imagemagick,你可以使用它

`convert -size 1x1 xc:white empty.jpg`

将创建一个 1x1 的空白 jpeg。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 2014-11-19
    • 2019-01-03
    • 2016-02-13
    • 2017-10-14
    • 1970-01-01
    相关资源
    最近更新 更多