Ruby on rails 4 录像机重新录制磁带无法持续

Ruby on rails 4 录像机重新录制磁带无法持续,ruby-on-rails-4,rspec,vcr,rubymine-7,Ruby On Rails 4,Rspec,Vcr,Rubymine 7,提前感谢-我正在用vcr录制控制器规格 问题是: 第一次运行我的规范时,它记录良好,然后我删除我的规范上下文目录,重新运行规范,并且没有磁带保存在磁带目录下 宝石: gem 'rspec-rails', '~> 3.2.1' gem 'webmock', '1.22.3', require: false gem 'vcr' gem 'capybara', '~> 2.4.3' 规范: #spec/controllers/my_spec.rb require 'unit_spec_h

提前感谢-我正在用vcr录制控制器规格

问题是:

第一次运行我的规范时,它记录良好,然后我删除我的规范上下文目录,重新运行规范,并且没有磁带保存在磁带目录下

宝石:

gem 'rspec-rails', '~> 3.2.1'
gem 'webmock', '1.22.3', require: false
gem 'vcr'
gem 'capybara', '~> 2.4.3'
规范:

#spec/controllers/my_spec.rb
require 'unit_spec_helper'
describe 'description' do
    it 'example_name', :vcr do
      @instance_var = table_record.attribute

      get 'controller_action'

      expect(response.status).to eq(200)
      expect(response.content_type).to eq 'image/png'
      table_record.delete
    end
  end
我所尝试的:

因此,我查看配置以确保vcr在每次运行时都应进行录制:

#spec/unit_spec_helper.rb
require 'vcr'
if Rails.env.test?
  VCR.configure do |c|
    c.ignore_localhost = false
    c.hook_into :webmock
    c.cassette_library_dir = "spec/support/cassettes"
    c.configure_rspec_metadata!
    c.allow_http_connections_when_no_cassette = true
    c.default_cassette_options = {
        allow_playback_repeats: true,
        serialize_with: :json,
        record: :all,
        match_requests_on: [:method, :uri, :headers]
    }
    c.debug_logger = File.open(Rails.root.join('log/vcr.log'), 'w')
  end
end
允许播放\u重复:对,录制::全部
-是的,我想这就是我想要的

检查vcr.log,我发现磁带被录制了:

[caste:'MyController/description/example_name']使用以下选项初始化:{:录制=>:new_剧集,:match_requests_on=>[:method,:uri,:headers],:allow_unused_http_interactions=>true,:serialize_with=>:json,:persist_with=>:file_system,:allow_playback_repeats=>true}

spec/support/casteds
dir仍然为空,因此我正在测试前清除缓存<代码>Rails.cache。清除并重新运行


刷新
spec/support/casteds
目录,我看到它仍然是空的。您认为是什么阻止了.yml的保存?

似乎是RubyMine7的问题-重新启动几次后,它就可以工作了