問題タブ [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.
rspec - rspecフックの現在の例/グループの名前
vcr をオンにして、現在の例の名前をカセット名として使用できるようにする rspec フックを追加しています。
問題は、現在の例の名前を取得する方法がわからないことです (example.name は機能しません)。
ruby-on-rails - rspecとcucumberの両方を使用する場合のVCR構成の配置場所
rspecとcucumberの両方を使用しています。統合レベルのテストのキュウリですが、単体テストの場合はrspecです。
キュウリにはもうvcrを使っていますが、rspecにも使いたいです。ビデオデッキの設定を行うのに適切な場所はどこですか?features/supportとrspec/supportの両方で複製したくありません。
ruby-on-rails - VCRがカセット内のerbを上書きしないようにする方法
最近、キュウリのテストでリクエストをスタブ化するためにVCRの使用を開始しました。キュウリのテーブルを使用してさまざまな種類のリクエストを記述し、それらをgherkinで変数として格納しています。カセットファイルはすべてerbを含むように作り直されているため、テストするリクエストの値を置き換えることができます。
問題は、新しい要求があるときはいつでも、VCRが新しい要求を記録し、カセットからすべてのerbを上書き(削除)して、その例で補間された要求に置き換えることです。値が変更されたリクエスト(たとえば、通信しているAPIから受け取ったタイムスタンプの値)を実行するたびに、すべてのerbをカセットファイルにコピーして戻す必要があります。テストは常に実行されるため、これはイライラします。
新しい応答を記録するときにVCRがerbを取り除く理由を誰かが知っていますか?回避策のアイデアはありますか?テンプレートを補間する前に保存する方法はありますか?
ruby - VCR / WebMock を使用しているときに Web リクエストを許可するには?
私は現在、RSpec2、Cucumber、および VCR (WebMock 経由) を使用しており、すべてうまく機能しています。
VCR では通常、すべての要求が記録され、記録されたカセットに対して再生されます。
ここで、いくつかのシナリオで実際の Web リクエストを許可したいと考えています。
- Cucumber では、 でタグ付けされたテストを実行する「ライブ」プロファイルをセットアップしました
@live
。これらのテスト (およびこれらのテストのみ) では、実際の Web 要求を許可したいと思います。 - 時々、実際の API に対してテストを実行し、記録を無視したい
java - Ruby の vcr の Java 代替?
Ruby の VCRに代わる Java はありますか?
私の知る限り、VCR を使用する利点は計り知れません。「統合テスト」を実行して結果を記録し、ローカルのどこかに保存できます。次にテストを実行する必要があるときから、最初の実行で記録されたデータを使用して、実際のデータベース ヒットをモックアップできます。
- Javaの世界に似たようなものはありますか?
- そうでない場合、実装しようとするとどのようなボトルネックに直面する可能性がありますか?
VCR は HTTP インタラクションのみを記録しますが、そのようなアプローチを記録するために行うことができます。たとえば、テストする必要のない他のチームの API へのあらゆる種類のデータベース操作/関数呼び出しを記録できます。それを自動化します。
Ruby の単体テストを使用した VCR の例を次に示します。
javascript - Node.js: VCR を使用したテスト
node.js 用のVCRテスト システムはありますか?
ruby-on-rails - モデルジオコーディング用にVCRグローバルカセットを設定するにはどうすればよいですか?
ジム協会のユーザーモデルがあります。ジムは、ジオコーディングにgeocodergemを介してgoogleapiを使用します。これはafter_saveで実行されます。私のジムの仕様では、use_vcr_cassetteを追加して、リクエストを記録し、仕様を通過させることができました。
現在の問題は、ユーザーファクトリがジムの関連付けを作成することです。すべての外部リクエストがオフになっているため、ユーザーファクトリを使用する仕様は、ジオコードリクエストの処理方法がわからないため、失敗します。
ジムファクトリーからのリクエストに対して、以前のジムカセットをグローバルに適用するにはどうすればよいですか?
testing - タグを介してキュウリでVCRを使用する
Google MapsRoutingAPIとやり取りする必要のあるCucumber機能がいくつかあります。私はVCRを使用してこれらの相互作用をスタブしようとしています。
私は次のように私の機能にVCRタグを追加しました:
そして、私のVCR構成をに追加しましたfeatures/support/vcr.rb
しかし、私が自分のキュークを実行すると、私は言われます。
ruby - RSpecとVCRを使用したWebAPIのテスト
APIラッパーをgemとして作成しており、RSpecを使用してAPI応答をテストしたいと思います。
これに伴う問題は、すべてのAPIリクエストがGETを使用して行われ、URLにAPIキーが含まれていることです。
例えばgame/metadata/{api_key}
APIキーをgitリポジトリの履歴に保持したくないので、これはテストの問題を引き起こします。できればRSpec/VCRを使用してこれらの仕様テストを実行し、APIキーをバージョン管理に保存しない方法はありますか?
環境変数を使用してみましたが、VCRは、応答の本文だけでなく、要求全体を保存します。
devise - omniauth-facebook、devise、capybara、capybara-mechanize、vcr、rpsec 統合テストの簡単な例は?
omniauth-facebook、devise、capybara、capybara-mechanize、(おそらく VCR を使用)、および rpsec 統合テストの簡単な例を探しています...
Capybara が外部 Web サイトに接続できません。したがって、カピバラ機械化が必要になります。たぶん、VCR は物事をスピードアップすることができます。このリンクでは、テスト facebook ユーザーを取得する方法について説明しています: https://developers.facebook.com/docs/test_users/
omniauth のドキュメントで説明されているように、モックを使用すると、モデルとコントローラーのロジックをテストするのに適しています。これには、specs/helpers/omniauth.rb に次のコードを記述し、rspec 統合テストの :before で set_omniauth を呼び出す必要があります。
ただし、Facebook サーバーに対して実行される真の統合テストがあると便利です。確かに、そのような遅いテストにフラグを立てて、ガードとデフォルトの rake タスクを介して実行されないようにする必要があります。