VCR不会生成yml文件

时间:2014-07-21 02:08:56

标签: ruby-on-rails ruby rspec

RSpec测试成功运行,但VCR不生成yml文件。

规格/ spec_helper.rb

require 'vcr'

VCR.configure do |c|
  c.cassette_library_dir     = 'spec/cassettes'
  c.hook_into :typhoeus
  # c.ignore_localhost         = false
  # c.default_cassette_options = { :record => :new_episodes }
end

规格/ smoothPayApi_spec.rb

require 'smoothPayApi'
require 'spec_helper'

describe SmoothPayApi do

    before :each do
        @item = SmoothPayApi.new
        @token = ''
    end

    describe "#getToken" do

        # use_vcr_cassette

        it "gets token by calling gen_token_test" do
            VCR.use_cassette 'api/getToken' do

                return_info = @item.getToken('X3r82l89', 1)
                expect(return_info.message).to eq('success')
                @token = return_info.data

            end
        end
    end
end

SmoothPayApi :: getToken使用Net :: HTTP :: Post。

我在localhost中进行此测试。这是问题吗?

1 个答案:

答案 0 :(得分:0)

听起来你没有使用Typhoeus发出你的HTTP请求,但是你正在使用VCR挂钩。您需要将VCR挂钩到可以拦截您正在进行的请求的库中。 VCR docs有一个列表。根据这一声明:

  

SmoothPayApi :: getToken使用Net :: HTTP :: Post。

...听起来您想使用hook_into :webmock而不是hook_into :typhoeus