录像机不记录我的回复

时间:2014-08-05 18:08:03

标签: ruby vcr

我正在尝试记录方法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配置:

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

1 个答案:

答案 0 :(得分:0)

我明白了。发生的事情是在规范助手中需要VCR设置文件本身。这样,就像你在实际测试文件中指定配置选项一样。这很好,因为现在你已经分离了关注点。

Spec Helper内部:

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

VCR配置:

require 'vcr'

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