Dynamic ERB cassettes
By default, cassettes are static: the exact response that was received when the cassette was recorded will be replayed for all future requests. Usually, this is fine, but in some cases you need something more dynamic. You can use ERB for this.
To enable ERB evaluation of a cassette, pass the :erb => true
option to a cassette. If you want to pass variables to the cassette, you can pass the names and values of the variables in a hash (:erb => { ... }
).
Enable dynamic ERB cassette evalutation using :erb => true
Given a previously recorded cassette file "cassettes/dynamic.yml" with:
And a file named "dynamic_erb_example.rb" with:
When I run ruby dynamic_erb_example.rb
Then it should pass with "Response: Hello bas".
Pass arguments to the ERB using :erb => { ... }
Given a previously recorded cassette file "cassettes/dynamic.yml" with:
And a file named "dynamic_erb_example.rb" with:
When I run ruby dynamic_erb_example.rb
Then it should pass with "Response: Hello baz".
Last updated
Was this helpful?