123456789_123456789_123456789_123456789_123456789_

Module: RSpec::Rails::FeatureExampleGroup

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
self, RailsExampleGroup, ActiveSupport::ExecutionContext::TestHelper, ActiveSupport::CurrentAttributes::TestHelper, TaggedLoggingAdapter, FixtureSupport::Fixtures, FixtureSupport, ActiveRecord::TestFixtures, MinitestAssertionAdapter, MinitestLifecycleAdapter, SetupAndTeardownAdapter
Defined in: rspec-rails/lib/rspec/rails/example/feature_example_group.rb

Overview

Container module for routing spec functionality.

Constant Summary

Class Method Summary

MinitestAssertionAdapter::ClassMethods - Extended

assertion_method_names

Returns the names of assertion methods that we want to expose to examples without exposing non-assertion methods in Test::Unit or Minitest.

define_assertion_delegators

SetupAndTeardownAdapter::ClassMethods - Extended

setup

Wraps setup calls from within Rails’ testing framework in before hooks.

teardown

Wraps teardown calls from within Rails’ testing framework in after hooks.

Instance Attribute Summary

FixtureSupport - Included

#run_in_transaction?

Monkey patched to avoid collisions with ‘let(:name)’ since ::RSpec::Rails 6.1.

Instance Method Summary

  • #visit

    Shim to check for presence of Capybara.

TaggedLoggingAdapter - Included

#tagged_logger

Vendored from activesupport/lib/active_support/testing/tagged_logging.rb This implements the tagged_logger method where it is expected, but doesn’t call name or set it up like ::RSpec::Rails does.

MinitestAssertionAdapter - Included

MinitestLifecycleAdapter - Included

SetupAndTeardownAdapter - Included

DSL Calls

included

[ GitHub ]


12
13
14
15
16
17
18
19
20
21
22
# File 'rspec-rails/lib/rspec/rails/example/feature_example_group.rb', line 12

included do
  app = ::Rails.application
  if app.respond_to?(:routes)
    include app.routes.url_helpers     if app.routes.respond_to?(:url_helpers)
    include app.routes.mounted_helpers if app.routes.respond_to?(:mounted_helpers)

    if respond_to?(:default_url_options)
      default_url_options[:host] ||= ::RSpec::Rails::FeatureExampleGroup::DEFAULT_HOST
    end
  end
end

Instance Method Details

#visit

Shim to check for presence of Capybara. Will delegate if present, raise if not. We assume here that in most cases visit will be the first Capybara method called in a spec.

[ GitHub ]

  
# File 'rspec-rails/lib/rspec/rails/example/feature_example_group.rb', line 27

def visit(*)
  if defined?(super)
    super
  else
    raise "Capybara not loaded, please add it to your Gemfile:\n\ngem \"capybara\""
  end
end