2016-05-25 12 views
3

私はVCRカセットの〜2.5GBのコレクションを持っていますhttps://github.com/vcr/vcr。私はバージョン3.0.1を使用しています。テストスイートを実行せずにVCRカセットを再録画することはできますか?

私は時々カセットを再録音する必要があります。しかし、テストを実行するだけで、リクエストを発し、カセットに答えを記録するよりもかなり長い時間がかかりますので、私はすでに記録されているリクエストを起動して再記録する方法を探しています。

は、理想的には私はこれを行うだろうrakeタスクを、持っています例えば:

rake vcr:cassettes:refresh 

私はこれについてどのように行くべき?

答えて

0

私が提案しようとしているのは、可能なすべての設定(たとえば、接続をそれぞれVCR.use_cassetteにラップするもの、またはファラデーでVCRミドルウェアを使用するもの)では機能しません。しかし、あなたはそうのように、configure_rspec_metadata!を使用してVCRを設定することが起こった場合:VCRを必要とするすべての例や例グループがメタデータとして:vcrまたはvcr: trueを持っている場合

https://www.relishapp.com/vcr/vcr/v/3-0-1/docs/test-frameworks/usage-with-rspec-metadata

...つまり、あなたは単に実行することができます

$ rspec ./spec --tag @vcr 

--tagオプションがhere文書化されている:例えば、使用してコマンドライン上のVCRタグ付き仕様。

メタデータ設定を使用しておらず、使用することが妨げられることがない場合は、仕様が適切に混在していることを前提として、 。また、新しいVCR仕様を追加する方が便利です。 1つの可能性がある欠点は、カセットの名前を変更する必要があるかもしれないが、再録音を計画しているので、それはあまり重要ではないということです。

+0

ありがとうございましたが、私はカセットのリクエストをもう一度開始し、最初にそれらを生成した実際のサンプルを実行せずに応答を記録する可能性を探していました。これは、実行時間を短縮するためです。 – johannesch

+0

ああ、申し訳ありません。私は誤解し、ネットワークスイートの仕様とフルスイートを実行する時間について話していると思っていました。 RSpecを使わないでVCRを実行するだけで、すべてのURLを前もって知っていて、2番目の場所に置いても構いません。ここのようなもの:https://relishapp.com/vcr/vcr/v/3-0-3/docs/cassettes/automatic-re-recording – johncip

関連する問題