在Ruby 1.9 上将VCR与我的 Rails 3.1 应用程序一起rake test
使用时,使用现有磁带运行会产生:
错误:test_#create_returns_created_account_upon_successful_creation(AccountServiceTest) ActiveRecord::StatementInvalid: Mysql2::Error: 表 'test_db.vcr_cassettes_account_service_create' 不存在:删除
vcr_cassettes_account_service_create
我在test_helper.rb中的 VCR 配置:
VCR.configure do |c|
c.allow_http_connections_when_no_cassette = true
c.cassette_library_dir = 'test/fixtures/vcr_cassettes'
c.hook_into :fakeweb
end
适用测试::单元代码:
require 'test_helper'
class AccountServiceTest < ActiveSupport::TestCase
test '#create returns created account upon successful creation' do
VCR.use_cassette('account_service_create') do
created_account = AccountService.new.create({name: 'honeybadger'})
assert_equal 'honeybadger', created_account.name
end
end
end
仅供参考,我也在使用 DatabaseCleaner;不确定那里是否有冲突。有人见过这个吗?
注意:当 VCR 盒式磁带尚不存在时,此操作通过