1

我正在尝试记录该方法images请求打开 uri 并从特定博客中抓取图像的响应。但是,当我运行测试套件时,VCR 并没有创建yoko/bot_response盒式磁带目录的内部并记录下来。有什么我没有包括或不理解的东西吗?(注:图像使用 open-uri 发出请求)

示例规格:

describe Yoko do                                                                    
  describe '.images' do                                                                                                                                                  
    context 'when blog is "generic"' do                                             
      let(:proxy) { 'http://119.46.110.17:80' }                                     
      let(:url)   { 'http://electric-firefly.tumblr.com' }                               

      it 'should contain an array of images' do                                     
        VCR.use_cassette 'yoko/bot_response' do                                     
          scraped_images = Yoko.send(:images, url, proxy)                           
          expect(scraped_images).not_to be_empty                                    
      end                                                                         
    end
 end   

录像机配置:

VCR.configure do |vcr|                                                                                                                                                     
  vcr.cassette_library_dir = 'spec/cassettes'
  vcr.hook_into :webmock
end
4

1 回答 1

1

我想到了。发生的事情是 VCR 设置文件本身需要在规范帮助程序中。这样一来,就好像您在实际测试文件中指定了配置选项。这很好,因为现在您有了关注点分离。

Spec Helper 内部:

require File.expand_path('./support/vcr_setup', __dir__)

录像机配置:

require 'vcr'

VCR.configure do |vcr|                                                                                                                                                     
  vcr.cassette_library_dir = 'spec/cassettes'
  vcr.hook_into :webmock
end
于 2014-08-05T19:09:05.577 回答