2

リクエストをテストするために vcr で rspec を使用して、1 つの HTTP REST API 用の Ruby ラッパーを開発しました。プロジェクトは travis-ci.org に読み込まれ、常にテストが自動的に実行されます。テスト中に問題があります。VCR は、サーバーがテスト データでいっぱいになるのを防ぐために実装された before および after フック内の要求を処理できません。

  describe '.find' do
    before :all do
      @project = Project.new(name: "Project#{Time.now.to_i}").save
    end

    after :all do
      @project.delete
    end

    #tests
  end

VCR エラーが発生しました:

An error occurred in a before(:all) hook.
  VCR::Errors::UnhandledHTTPRequestError: 

もちろん、各テストでリモート エンティティを作成および削除したくはありません。

4

1 に答える 1

4
  describe '.find' do
    before :all do
      VCR.use_cassette("some_cassette_name") do
        @project = Project.new(name: "Project#{Time.now.to_i}").save
      end
    end

    after :all do
      VCR.use_cassette("some_other_cassette_name") do
        @project.delete
      end
    end

    #tests
  end
于 2013-08-09T05:59:09.373 に答える