Sha256: ed72a3740b43ad5f4c137a24adac69939df2dcd586efce05e809516f3cc917a6

Contents?: true

Size: 1.72 KB

Versions: 59

Compression:

Stored size: 1.72 KB

Contents

Feature: Usage with Test::Unit

  To use VCR with Test::Unit, wrap the body of any test method in
  `VCR.use_cassette`.

  Scenario: Use `VCR.use_cassette` in a test
    Given a file named "test/test_server.rb" with:
      """ruby
      $server = start_sinatra_app do
        get('/') { "Hello" }
      end
      """
    Given a file named "test/test_helper.rb" with:
      """ruby
      require 'test/test_server' if ENV['SERVER'] == 'true'
      require 'test/unit'
      require 'vcr'

      VCR.configure do |c|
        c.hook_into :webmock
        c.cassette_library_dir = 'test/fixtures/vcr_cassettes'
        c.default_cassette_options = {
          :match_requests_on => [:method, :host, :path]
        }
      end
      """
    And a file named "test/vcr_example_test.rb" with:
      """ruby
      require 'test_helper'

      class VCRExampleTest < Test::Unit::TestCase
        def test_use_vcr
          VCR.use_cassette('test_unit_example') do
            response = Net::HTTP.get_response('localhost', '/', $server ? $server.port : 0)
            assert_equal "Hello", response.body
          end
        end
      end
      """
    And the directory "test/fixtures/vcr_cassettes" does not exist
    When I set the "SERVER" environment variable to "true"
     And I run `ruby -Itest test/vcr_example_test.rb`
    Then it should pass with "1 tests, 1 assertions, 0 failures, 0 errors"
    And the file "test/fixtures/vcr_cassettes/test_unit_example.yml" should contain "Hello"

    # Run again without starting the sinatra server so the response will be replayed
    When I set the "SERVER" environment variable to "false"
     And I run `ruby -Itest test/vcr_example_test.rb`
    Then it should pass with "1 tests, 1 assertions, 0 failures, 0 errors"

Version data entries

59 entries across 59 versions & 8 rubygems

Version Path
docspring-3.0.0 vendor/bundle/ruby/3.3.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.16 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.15 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.14 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.13 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.12 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.11 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.10 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.9 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.8 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.7 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.6 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.5 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.4 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.3 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.2 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.1 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-2.0.0 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-1.142.3 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature
cloudsmith-api-1.120.3 vendor/bundle/ruby/2.6.0/gems/vcr-3.0.3/features/test_frameworks/test_unit.feature