【问题标题】:test failure when using VCR with paperclip使用带有回形针的 VCR 时测试失败
【发布时间】:2012-05-30 22:39:24
【问题描述】:

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

  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'

这是回形针和aws-s3之间的接口错误。

我一直在进行故障排除,用谷歌搜索了几个小时。看起来这应该是很常见的情况,但我似乎无法再次通过测试。

【问题讨论】:

  • 如果您删除了磁带,是否会再次通过测试?这就是你所说的“第二次”吗?
  • 是的,没错。当盒式磁带不存在时,测试通过。如果卡带存在,则测试失败。

标签: ruby-on-rails rspec paperclip vcr


【解决方案1】:

这可能是 VCR 或 VCR 挂钩的底层库(例如 WebMock)中的错误。

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

  • 错误的完整回溯
  • VCR 配置的代码 sn-p
  • 一个小的、独立的可执行示例演示该错误会很好。

【讨论】:

  • 我不记得在 github 上看到过这个问题。
  • 感谢您告诉我们!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-04
  • 1970-01-01
相关资源
最近更新 更多