使用rspec测试文件图像大小验证,而不使用灯具中的大文件

时间:2011-06-01 12:00:40

标签: ruby-on-rails-3 rspec2

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

我可以使用像这样的工具来测试文件的存在和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文件用于测试目的。

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

非常感谢......

1 个答案:

答案 0 :(得分:-1)

如果已经安装了

,可以使用imagemagick
`convert -size 1x1 xc:white empty.jpg`

将创建1x1空白jpeg。