問題タブ [vcr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
155 参照

cucumber - Cucumber タグを使用した場合の VCR BadAlias エラー

ステップをフィーチャーする必要があります

およびその定義:

これは次のように失敗します。

番号が変わります。しかし、私がこれをしたとき:

できます。@vcrタグを使用するためにこのパッチを回避できますか?

これは私の設定です:

0 投票する
1 に答える
507 参照

cucumber - ルビー、キュウリのリンクをクリックするとビデオデッキカセットを録画する

私はこれを持っています:

カセットを記録しません。タグを使用できません。これはステップ定義内で行う必要があります。

0 投票する
1 に答える
131 参照

ruby-on-rails-3 - Evernote API の RSpec テスト

Evernote API を呼び出す Rails アプリがあります。これらの呼び出しの RSpec テストを書きたいと思っています。それを行う最善の方法は何ですか?Webmock または VCR を使用できることはわかっていますが、間違っていない限り、秘密鍵またはキャッシュされた oauth 応答をプッシュしない限り、リポジトリに自己完結型のテストを含めることはできません。

0 投票する
1 に答える
1345 参照

ruby-on-rails - VCR 無視パラメータ: Get real http request

テスト スイートの VCR で http 要求を記録しています。パラメーターがランダムであるため、呼び出されたパラメーターを無視する必要がcallbackあり、このパラメーターが変更されたときに VCR に新しい要求を記録させたくありません (要求自体ではなく、パラメーターのみが変更されるため)。

callbackしかし、私の問題は、クライアントが実行時に生成した元の値に基づいて、VCR がアプリに提供する応答本文を変更する必要があることです。

これが私の VCR 構成です。

コールバックではc.before_http_request(:stubbed?)、 の実際の値callbackは にありrequest.uriます。VCR はこのパラメータを無視し、以前に記録されたカセットを再生します。c.before_playbackコールバックで を変更できますinteraction.response.bodyが、callbackパラメーターは録音時にカセットから値を取得しました。

コールバック内の実際の値を取得するにはどうすればよいですか? このコールバックは、応答本文を変更できる唯一のコールバックであるためです。応答本文とパラメーターの実際の値を取得する場所で試してみましたが、アプリが既に応答本文を受け取っているため、このフックは遅すぎます。callbackc.before_playbackc.after_http_request(:stubbed?)callback

モンキーパッチ、汚いハック、またはトリックは素晴らしいでしょう!

0 投票する
0 に答える
312 参照

guard - Guard-rspec を使用した統合テストで vcr の使用をスキップするフラグはありますか?

vcr gem は、外部 API を呼び出すテスト スイートを高速化するのに最適です...

VCR を使用しない場合でもテスト スイートに合格することを確認する最適な手順は何ですか? Guard-rspec を使用して、VCR をスキップするために環境変数またはフラグを渡すデフォルトの方法はありますか?

または、環境変数の条件付きチェックで VCR 初期化ブロックをラップする必要がありますか?

0 投票する
1 に答える
2588 参照

ruby-on-rails-3 - VCR は、セレン Webkit を使用したカピバラでの統合テストのために 1 回だけ実行されます

VCR gem を使用して統合テストを実行している Capybara で Rspec を使用して、API リクエストをモック スタブ化しています。私はさまざまな奇妙な種類の問題に直面しています。テストは初めて正常に実行され、要求とその応答を保存するための yaml ファイルが作成されます。しかし、yaml ファイルの作成後にテストを再度実行すると、問題が発生し、次の問題が表示されます。

以下は私のvcr.rbです:-

そして私の統合テスト:-

「spec_helper」が必要

0 投票する
1 に答える
465 参照

ruby-on-rails - テストの実行時に VCR が DB (カセット テーブルが存在しません) エラーで失敗する

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 設定:

該当するテスト::ユニットコード:

参考までに、私は DatabaseCleaner も使用しています。そこに競合があるかどうかはわかりません。これを前に見た人はいますか?

注: VCR カセットがまだ存在しない場合、これはパスします

0 投票する
1 に答える
4422 参照

ruby-on-rails - vcr が複数の Web リクエストで壊れる

私が取り組んでいるプロジェクトには、実際に外部に出てネットワーク経由でサードパーティの API にヒットする統合テストがあります...これらのテストの実行には非常に長い時間がかかります。VCR のようなものを実装して、テストがやり取りするデータをフィクスチャとしてキャプチャできるようにし、これらのテストの信頼性と速度を向上させることを提案しました。

現時点ではコードベースにアクセスできませんが、テストは次のようなことを行っていたと思います。

したがって、基本的に before ブロックは Web リクエストを作成し、サンプルはまったく異なるリクエストを作成し、after ブロック (使用するのが理想的ではないことはわかっています) は、サンプルによって作成されたレコードをクリーンアップするための 3 番目のリクエストを作成しました。

Web リクエストをキャプチャし、例に基づいて名前を付けて保存する、spec_helper の around ブロックをセットアップします。ただし、テストを繰り返し実行した後、テストが非常に不安定になり、合格することもあれば、合格しないこともあることがわかりました。前と後のブロックを別の VCR.use_cassette ブロック呼び出しでラップしようとしましたが、違いはありませんでした。

私は何かが足りないのではないかと思っています.このような複数のリクエストを処理する方法はありますか?