Module: RSpec::Mocks::ExampleMethods

### Home Classes Methods

### In Files

- lib/rspec/mocks/example_methods.rb

### Namespace

- MODULE RSpec::Mocks::ExampleMethods::ExpectHost

### Methods

- ::included
- #allow_message_expectations_on_nil
- #double
- #have_received
- #hide_const
- #mock
- #stub
- #stub_const

### Included Modules

- RSpec::Mocks::ArgumentMatchers
- RSpec::Mocks::ExampleMethods::ExpectHost

### Class/Module Index

Quicksearch

- RSpec
- RSpec::Mocks
- RSpec::Mocks::AllowanceTarget
- RSpec::Mocks::AmbiguousReturnError
- RSpec::Mocks::AndCallOriginalImplementation
- RSpec::Mocks::AndReturnImplementation
- RSpec::Mocks::AndYieldImplementation
- RSpec::Mocks::AnyInstance
- RSpec::Mocks::AnyInstance::Chain
- RSpec::Mocks::AnyInstance::Chain::Customizations
- RSpec::Mocks::AnyInstance::ExpectationChain
- RSpec::Mocks::AnyInstance::MessageChains
- RSpec::Mocks::AnyInstance::PositiveExpectationChain
- RSpec::Mocks::AnyInstance::Recorder
- RSpec::Mocks::AnyInstance::StubChain
- RSpec::Mocks::AnyInstance::StubChainChain
- RSpec::Mocks::AnyInstanceAllowanceTarget
- RSpec::Mocks::AnyInstanceExpectationTarget
- RSpec::Mocks::ArgumentListMatcher
- RSpec::Mocks::ArgumentMatchers
- RSpec::Mocks::ArgumentMatchers::AnyArgMatcher
- RSpec::Mocks::ArgumentMatchers::AnyArgsMatcher
- RSpec::Mocks::ArgumentMatchers::BooleanMatcher
- RSpec::Mocks::ArgumentMatchers::DuckTypeMatcher
- RSpec::Mocks::ArgumentMatchers::EqualityProxy
- RSpec::Mocks::ArgumentMatchers::HashExcludingMatcher
- RSpec::Mocks::ArgumentMatchers::HashIncludingMatcher
- RSpec::Mocks::ArgumentMatchers::InstanceOf
- RSpec::Mocks::ArgumentMatchers::KindOf
- RSpec::Mocks::ArgumentMatchers::MatcherMatcher
- RSpec::Mocks::ArgumentMatchers::NoArgsMatcher
- RSpec::Mocks::ArgumentMatchers::RegexpMatcher
- RSpec::Mocks::Configuration
- RSpec::Mocks::Constant
- RSpec::Mocks::ConstantMutator
- RSpec::Mocks::ConstantMutator::BaseMutator
- RSpec::Mocks::ConstantMutator::ConstantHider
- RSpec::Mocks::ConstantMutator::DefinedConstantReplacer
- RSpec::Mocks::ConstantMutator::UndefinedConstantSetter
- RSpec::Mocks::ConstantStubber
- RSpec::Mocks::Deprecation
- RSpec::Mocks::ErrorGenerator
- RSpec::Mocks::ExampleMethods
- RSpec::Mocks::ExampleMethods::ExpectHost
- RSpec::Mocks::ExpectationTarget
- RSpec::Mocks::Implementation
- RSpec::Mocks::InstanceExec
- RSpec::Mocks::InstanceMethodStasher
- RSpec::Mocks::Matchers
- RSpec::Mocks::Matchers::HaveReceived
- RSpec::Mocks::Matchers::Receive
- RSpec::Mocks::Matchers::Receive::Customization
- RSpec::Mocks::MessageExpectation
- RSpec::Mocks::MethodDouble
- RSpec::Mocks::MethodDouble::ProcWithBlock
- RSpec::Mocks::Mock
- RSpec::Mocks::MockExpectationError
- RSpec::Mocks::OrderGroup
- RSpec::Mocks::Proxy
- RSpec::Mocks::ProxyForNil
- RSpec::Mocks::RecursiveConstMethods
- RSpec::Mocks::Space
- RSpec::Mocks::StubChain
- RSpec::Mocks::Syntax
- RSpec::Mocks::TargetBase
- RSpec::Mocks::TestDouble
- RSpec::Mocks::Version
- Marshal

No matching classes.

# RSpec::Mocks::ExampleMethods

### Public Class Methods

included(klass) click to toggle source

    # File lib/rspec/mocks/example_methods.rb, line 134
    def self.included(klass)
      klass.class_eval do
        # This gets mixed in so that if `RSpec::Matchers` is included in
        # `klass` later, it's definition of `expect` will take precedence.
        include ExpectHost unless method_defined?(:expect)
      end
    end

### Public Instance Methods

allow_message_expectations_on_nil() click to toggle source

Disables warning messages about expectations being set on nil.

By default warning messages are issued when expectations are set on nil. This is to prevent false-positives and to catch potential bugs early on.

    # File lib/rspec/mocks/example_methods.rb, line 51
    def allow_message_expectations_on_nil
      RSpec::Mocks.space.proxy_for(nil).warn_about_expectations = false
    end

double(*args) click to toggle source

@overload double() @overload double(name) @overload double(stubs) @overload double(name, stubs) @param name [String/Symbol] (optional) used in

    clarify intent

@param stubs (Hash) (optional) hash of method/return-value pairs @return (Mock)

Constructs an instance of [RSpec::Mocks::Mock](RSpec::Mocks::Mock) configured with an optional name, used for reporting in failure messages, and an optional hash of method/return-value pairs.

@example

    book = double("book", :title => "The RSpec Book")
    book.title #=> "The RSpec Book"

    card = double("card", :suit => "Spades", :rank => "A")
    card.suit  #=> "Spades"
    card.rank  #=> "A"

@see mock @see stub

    # File lib/rspec/mocks/example_methods.rb, line 30
    def double(*args)
      declare_double('Double', *args)
    end

have_received(method_name) click to toggle source

Verifies that the given object received the expected message during the course of the test. The method must have previously been stubbed in order for messages to be verified.

Stubbing and verifying messages received in this way implements the Test Spy pattern.

@param method_name [Symbol] name of the method expected to have been

    called.

@example

    invitation = double('invitation', accept: true)
    user.accept_invitation(invitation)
    expect(invitation).to have_received(:accept)

    # You can also use most message expectations:
    expect(invitation).to have_received(:accept).with(mailer).once

    # File lib/rspec/mocks/example_methods.rb, line 130
    def have_received(method_name)
      Matchers::HaveReceived.new(method_name)
    end

hide_const(constant_name) click to toggle source

Hides the named constant with the given value. The constant will be undefined for the duration of the test.

Like method stubs, the constant will be restored to its original value when the example completes.

@param constant_name [String] The fully qualified name of the constant.

    The current constant scoping at the point of call is not considered.

@example

    hide_const("MyClass") # => MyClass is now an undefined constant

    # File lib/rspec/mocks/example_methods.rb, line 108
    def hide_const(constant_name)
      ConstantMutator.hide(constant_name)
    end

mock(*args) click to toggle source

Deprecated: Use [double](double-instance_method).

    # File lib/rspec/mocks/example_methods.rb, line 35
    def mock(*args)
      RSpec.deprecate "mock", :replacement => "double"
      declare_double('Mock', *args)
    end

stub(*args) click to toggle source

Deprecated: Use [double](double-instance_method).

    # File lib/rspec/mocks/example_methods.rb, line 41
    def stub(*args)
      RSpec.deprecate "stub", :replacement => "double"
      declare_double('Stub', *args)
    end

stub_const(constant_name, value, options = {}) click to toggle source

Stubs the named constant with the given value. Like method stubs, the constant will be restored to its original value (or lack of one, if it was undefined) when the example completes.

@param constant_name [String] The fully qualified name of the constant. The current

    constant scoping at the point of call is not considered.

@param value [Object] The value to make the constant refer to. When the

    example completes, the constant will be restored to its prior state.

@param options [Hash] Stubbing options. @option options :transfer_nested_constants [Boolean, Array<Symbol>] Determines

    what nested constants, if any, will be transferred from the original value
    of the constant to the new value of the constant. This only works if both
    the original and new values are modules (or classes).

@return [Object] the stubbed value of the constant

@example

    stub_const("MyClass", Class.new) # => Replaces (or defines) MyClass with a new class object.
    stub_const("SomeModel::PER_PAGE", 5) # => Sets SomeModel::PER_PAGE to 5.

    class CardDeck
      SUITS = [:Spades, :Diamonds, :Clubs, :Hearts]
      NUM_CARDS = 52
    end

    stub_const("CardDeck", Class.new)
    CardDeck::SUITS # => uninitialized constant error
    CardDeck::NUM_CARDS # => uninitialized constant error

    stub_const("CardDeck", Class.new, :transfer_nested_constants => true)
    CardDeck::SUITS # => our suits array
    CardDeck::NUM_CARDS # => 52

    stub_const("CardDeck", Class.new, :transfer_nested_constants => [:SUITS])
    CardDeck::SUITS # => our suits array
    CardDeck::NUM_CARDS # => uninitialized constant error

    # File lib/rspec/mocks/example_methods.rb, line 92
    def stub_const(constant_name, value, options = {})
      ConstantMutator.stub(constant_name, value, options)
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.