将VCR与回形针一起使用时测试失败

时间:2012-05-30 22:39:25

标签: ruby-on-rails rspec paperclip vcr

我有一个测试工作,第一次通过,但第二次运行规范套件失败:

  VCR.use_cassette("master_image_create_2", :match_requests_on => [:method, :uri]) do
      mi = Factory.build(:master_asset)
      img = File.new( File.join(Rails.root, "spec", "support", "fonzi.jpg") )
      mi.image = img
      mi.valid?
      mi.sha.should eql("f70393ee4d6e1f6a735df9526694e038371e5b3c")
      mi.url.to_s.include?("http://domain.com/test-brand/original-test-product_f_test-color-1_test-color-2_test-color-3.jpg").should be_true
    end

MasterAsset类使用回形针(要求)将正在处理的图像上传到S3。

我得到的错误是:

AWS::Errors::Base:
 # (eval):3:in `head_object'

这是paperclip和aws-s3之间接口的错误。

我一直在排除故障,谷歌搜索几个小时了。这似乎应该是一种非常普遍的情况,但我似乎无法通过第二次测试。

1 个答案:

答案 0 :(得分:0)

这可能是录像机或VCR挂入的基础库(例如WebMock)中的错误。

你可以提交issue on github吗?我很乐意看一看。我需要更多细节:

  • 错误的完全回溯
  • 您的VCR配置的代码段
  • 一个小的,孤立的可执行示例,演示错误。