0

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 FROMvcr_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 カセットがまだ存在しない場合、これはパスします

4

1 に答える 1