To add a collaborator to this project you will need to use the Relish gem to add the collaborator via a terminal command. Soon you'll be able to also add collaborators here!
More about adding a collaboratorAllow Unused HTTP Interactions
If set to false, this cassette option will cause VCR to raise an error
when a cassette is ejected and there are unused HTTP interactions remaining,
unless there is already an exception unwinding the callstack.
It verifies that all requests included in the cassette were made, and allows
VCR to function a bit like a mock object at the HTTP layer.
The option defaults to true (mostly for backwards compatibility).
- Background
-
- Given
-
a file named "vcr_config.rb" with:
require 'vcr' VCR.configure do |c| c.hook_into :webmock c.cassette_library_dir = 'cassettes' end
- And
-
a previously recorded cassette file "cassettes/example.yml" with:
--- http_interactions: - request: method: get uri: http://example.com/foo body: encoding: UTF-8 string: "" headers: {} response: status: code: 200 message: OK headers: Content-Length: - "5" body: encoding: UTF-8 string: Hello http_version: "1.1" recorded_at: Tue, 01 Nov 2011 04:58:44 GMT recorded_with: VCR 2.0.0
- Scenarios
-
- Unused HTTP interactions are allowed by default
- Error raised if option is false and there are unused interactions
- No error raised if option is false and all interactions are used
- Does not silence other errors raised in `use_cassette` block
- Unused HTTP interactions are allowed by default
-
- Given
-
a file named "allowed_by_default.rb" with:
require 'vcr_config' VCR.use_cassette("example") do # no requests end
- When
-
I run
ruby allowed_by_default.rb
- Then
- it should pass
- Error raised if option is false and there are unused interactions
-
- Given
-
a file named "disallowed_with_no_requests.rb" with:
require 'vcr_config' VCR.use_cassette("example", :allow_unused_http_interactions => false) do # no requests end
- When
-
I run
ruby disallowed_with_no_requests.rb
- Then
-
it should fail with an error like:
There are unused HTTP interactions left in the cassette: - [get http://example.com/foo] => [200 "Hello"]
- No error raised if option is false and all interactions are used
-
- Given
-
a file named "disallowed_with_all_requests.rb" with:
require 'vcr_config' VCR.use_cassette("example", :allow_unused_http_interactions => false) do Net::HTTP.get_response(URI("http://example.com/foo")) end
- When
-
I run
ruby disallowed_with_all_requests.rb
- Then
- it should pass
- Does not silence other errors raised in `use_cassette` block
-
- Given
-
a file named "does_not_silence_other_errors.rb" with:
require 'vcr_config' VCR.use_cassette("example", :allow_unused_http_interactions => false) do raise "boom" end
- When
-
I run
ruby does_not_silence_other_errors.rb
- Then
- it should fail with "boom"
- And
- the output should not contain "There are unused HTTP interactions"
Last published over 6 years ago by Tony Miller.