スペック ファイルを完全に無視するように VCR に指示するにはどうすればよいですか?
実際の HTTP リクエストを許可するか、VCR を明示的にオフにすることを提案する Google グループの投稿を読みました。
私の意見では、仕様に :vcr メタデータ タグがない限り、VCR が介入しない方がはるかに使いやすいと思います。事前にビデオデッキがオンになっていたかどうかわからないため、前後にビデオデッキの電源をオフにして再度オンにすることはしたくありません。すべての仕様にわたって実際の HTTP リクエストを許可するのではなく、一部の特定のリクエストだけを許可したいと考えています。
VCR の選択性を高める方法はありますか?
これは最も洗練された解決策ではありませんが、インスタンス変数を使用して構成を元の設定に戻すことができます。
describe "A group of specs where you want to allow http requests" do
before do
VCR.configure do |c|
@previous_allow_http_connections = c.allow_http_connections_when_no_cassette?
c.allow_http_connections_when_no_cassette = true
end
end
after do
VCR.configure do |c|
c.allow_http_connections_when_no_cassette = @previous_allow_http_connections
end
end
# Specs in this block will now allow http requests to be made
end
最初に API を立ち上げて実行する作業をしており、作成しているリクエストをデバッグできるようにしたいと考えている間、これが役立つことがわかりました。 API が正しく動作したら、前後のブロックを削除して、通常どおり VCR を使用できます。