Usage With RSpec Metadata
VCR provides easy integration with RSpec using metadata. To set this up, call configure_rspec_metadata!
in your VCR.configure
block.
Once you've done that, you can have an example group or example use VCR by passing :vcr
as an additional argument after the description string. It will set the cassette name based on the example's full description.
If you need to override the cassette name or options, you can pass a hash (:vcr => { ... }
).
Background ()
Given a file named "spec/spec_helper.rb" with:
And a previously recorded cassette file "spec/cassettes/Group/optionally_raises_an_error.yml" with:
Use :vcr
metadata
:vcr
metadataGiven a file named "spec/vcr_example_spec.rb" with:
When I run rspec spec/vcr_example_spec.rb
Then it should pass with "4 examples, 0 failures"
And the file "spec/cassettes/VCR_example_group_metadata/records_an_http_request.yml" should contain "Hello"
And the file "spec/cassettes/VCR_example_group_metadata/records_another_http_request.yml" should contain "Hello"
And the file "spec/cassettes/VCR_example_group_metadata/in_a_nested_example_group/records_another_one.yml" should contain "Hello"
And the file "spec/cassettes/VCR_example_metadata/records_an_http_request.yml" should contain "Hello".
:allow_unused_http_interactions => false
causes a failure if there are unused interactions
:allow_unused_http_interactions => false
causes a failure if there are unused interactionsAnd a file named "spec/vcr_example_spec.rb" with:
When I run rspec spec/vcr_example_spec.rb
Then it should fail with an error like:
:allow_unused_http_interactions => false
does not raise if the example already failed
:allow_unused_http_interactions => false
does not raise if the example already failedAnd a file named "spec/vcr_example_spec.rb" with:
When I run rspec spec/vcr_example_spec.rb
Then it should fail with "boom"
And the output should not contain "There are unused HTTP interactions".
Pass a hash to set the cassette options
Given a file named "spec/vcr_example_spec.rb" with:
When I run rspec spec/vcr_example_spec.rb
Then it should pass with "2 examples, 0 failures".
Last updated