Class | Spec::Example::Configuration
In: | lib/spec/example/configuration.rb
Parent: | Object

### Methods

after append_after append_before before include mock_with predicate_matchers prepend_after prepend_before

### Public Instance methods

after(*args, &proc)

Alias for prepend_after

append_after(*args, &proc)

Appends a global `after` block to all example groups. See append_before for filtering semantics.

[Source]

         # File lib/spec/example/configuration.rb, line 134
    134:       def append_after(*args, &proc)
    135:         scope, options = scope_and_options(*args)
    136:         example_group = ExampleGroupFactory.get(
    137:           get_type_from_options(options)
    138:         )
    139:         example_group.append_after(scope, &proc)
    140:       end

append_before(*args, &proc)

Appends a global `before` block to all example groups.

If you want to restrict the block to a subset of all the example groups then specify this in a Hash as the last argument:

      config.prepend_before(:all, :type => :farm)

or

      config.prepend_before(:type => :farm)

[Source]

         # File lib/spec/example/configuration.rb, line 112
    112:       def append_before(*args, &proc)
    113:         scope, options = scope_and_options(*args)
    114:         example_group = ExampleGroupFactory.get(
    115:           get_type_from_options(options)
    116:         )
    117:         example_group.append_before(scope, &proc)
    118:       end

before(*args, &proc)

Alias for append_before

include(Some::Helpers)
include(Some::Helpers, More::Helpers)
include(My::Helpers, :type => :key)

Declares modules to be included in multiple example groups (`describe` blocks). With no :type, the modules listed will be included in all example groups. Use :type to restrict the inclusion to a subset of example groups. The value assigned to :type should be a key that maps to a class that is either a subclass of Spec::Example::ExampleGroup or extends Spec::Example::ExampleGroupMethods and includes Spec::Example::ExampleMethods

      config.include(My::Pony, My::Horse, :type => :farm)

Only example groups that have that type will get the modules included:

      describe "Downtown", :type => :city do
        # Will *not* get My::Pony and My::Horse included
      end

      describe "Old Mac Donald", :type => :farm do
        # *Will* get My::Pony and My::Horse included
      end

[Source]

        # File lib/spec/example/configuration.rb, line 69
    69:       def include(*args)
    70:         args << {} unless Hash === args.last
    71:         modules, options = args_and_options(*args)
    72:         required_example_group = get_type_from_options(options)
    73:         required_example_group = required_example_group.to_sym if required_example_group
    74:         modules.each do |mod|
    75:           ExampleGroupFactory.get(required_example_group).send(:include, mod)
    76:         end
    77:       end

mock_with(mock_framework)

Chooses what mock framework to use. Example:

      Spec::Runner.configure do |config|
        config.mock_with :rspec, :mocha, :flexmock, or :rr
      end

To use any other mock framework, you‘ll have to provide your own adapter. This is simply a module that responds to the following methods:

      setup_mocks_for_rspec
      verify_mocks_for_rspec
      teardown_mocks_for_rspec.

These are your hooks into the lifecycle of a given example. RSpec will call setup_mocks_for_rspec before running anything else in each Example. After executing the after methods, RSpec will then call verify_mocks_for_rspec and teardown_mocks_for_rspec (this is guaranteed to run even if there are failures in verify_mocks_for_rspec).

Once you‘ve defined this module, you can pass that to mock_with:

      Spec::Runner.configure do |config|
        config.mock_with MyMockFrameworkAdapter
      end

[Source]

        # File lib/spec/example/configuration.rb, line 31
    31:       def mock_with(mock_framework)
    32:         @mock_framework = case mock_framework
    33:         when Symbol
    34:           mock_framework_path(mock_framework.to_s)
    35:         else
    36:           mock_framework
    37:         end
    38:       end

predicate_matchers()

Defines global predicate matchers. Example:

      config.predicate_matchers[:swim] = :can_swim?

This makes it possible to say:

      person.should swim # passes if person.can_swim? returns true

[Source]

        # File lib/spec/example/configuration.rb, line 87
    87:       def predicate_matchers
    88:         @predicate_matchers ||= {}
    89:       end

prepend_after(*args, &proc)

Prepends a global `after` block to all example groups. See append_before for filtering semantics.

[Source]

         # File lib/spec/example/configuration.rb, line 123
    123:       def prepend_after(*args, &proc)
    124:         scope, options = scope_and_options(*args)
    125:         example_group = ExampleGroupFactory.get(
    126:           get_type_from_options(options)
    127:         )
    128:         example_group.prepend_after(scope, &proc)
    129:       end

prepend_before(*args, &proc)

Prepends a global `before` block to all example groups. See append_before for filtering semantics.

[Source]

        # File lib/spec/example/configuration.rb, line 93
    93:       def prepend_before(*args, &proc)
    94:         scope, options = scope_and_options(*args)
    95:         example_group = ExampleGroupFactory.get(
    96:           get_type_from_options(options)
    97:         )
    98:         example_group.prepend_before(scope, &proc)
    99:       end

[Validate]