作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试对外部 API 进行 RSpec 功能测试。
我的录像机配置如下:
VCR.configure do |config|
config.cassette_library_dir = 'spec/vcr'
config.hook_into :webmock
config.ignore_localhost = true
end
我的测试是这样的:
feature 'Visitor' do
scenario 'performs an archival', :clean => false, :js => true do
mock_login
visit '/dashboard'
click_link 'Test Company'
VCR.use_cassette('feature/archive') do
within '.nav-app' do
click_button 'Quicksave'
end
end
end
scenario 'performs a restore', :js => true do
mock_login
visit '/dashboard'
click_link 'Test Company'
VCR.use_cassette('feature/restore') do
within '.nav-app' do
click_button 'Quickload'
end
end
end
end
archive
盒式磁带创建得很好,但是 restore
盒式磁带抛出错误:
An HTTP request has been made that VCR does not know how to handle:
GET http://SomeApiUrl/...
There is currently no cassette in use.
我显然已经告诉 VCR 创建和使用另一个磁带:
VCR.use_cassette('feature/restore')
那么是什么给了?
还值得一提的是,即使我清理了磁带文件夹并重新开始,我仍然收到此错误。
最佳答案
尝试将 , :record => :new_episodes
作为参数传递给 use_cassete
。如果您不使用录制新剧集。它认为它们是相同的请求。
关于ruby-on-rails - VCR:创建第二个磁带时为 "There is currently no cassette in use.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54451875/
我是一名优秀的程序员,十分优秀!