Ruby 1.9 上の Rails 3.1 アプリでVCRを使用しているときrake test
に、既存のカセットで実行すると、次のようになります。
エラー: test_#create_returns_created_account_upon_successful_creation(AccountServiceTest) ActiveRecord::StatementInvalid: Mysql2::Error: テーブル 'test_db.vcr_cassettes_account_service_create' が存在しません: DELETE FROM
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 カセットがまだ存在しない場合、これはパスします