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中进行此测试。这是问题吗?
答案 0 :(得分:0)
听起来你没有使用Typhoeus发出你的HTTP请求,但是你正在使用VCR挂钩。您需要将VCR挂钩到可以拦截您正在进行的请求的库中。 VCR docs有一个列表。根据这一声明:
SmoothPayApi :: getToken使用Net :: HTTP :: Post。
...听起来您想使用hook_into :webmock
而不是hook_into :typhoeus
。