module Spectator::Mocks::DSL::Methods

Overview

Common DSL methods for defining mocks, doubles, and stubs. This module should be included wherever necessary to specify DSL methods.

Defined in:

spectator/mocks/dsl/methods.cr

Macro Summary

Instance Method Summary

Macro Detail

macro double(name, *stubs, **named_stubs, &block) #

[View source]
macro mock(type, **stubs, &block) #

[View source]

Instance Method Detail

def receive(method : Symbol) #

Constructs a stub for a method.

The method is the name of the method to stub.

This is also the start of a fluent interface for defining stubs. See: StubModifiers

Can syntax:

dbl.can receive(:some_method)
dbl.can receive(:the_answer).and_return(42)

Allow syntax:

allow(dbl).to receive(:some_method)
allow(dbl).to receive(:the_answer).and_return(42)

[View source]
def receive(method : Symbol, &block : -> _) #

Constructs a stub for a method.

The method is the name of the method to stub. The provided block is invoked when the stubbed method is called.

Can syntax:

dbl.can receive(:the_answer) { 42 }

Allow syntax:

allow(dbl).to receive(:the_answer) { 42 }

[View source]
def receive(**value_stubs) #

Constructs multiple method stubs for an object.

A collection of key-value pairs is used. Each key is a method's name. The value is what is returned by the corresponding method.

Can syntax:

dbl.can receive(the_answer: 42, some_method: "foobar")

Allow syntax:

allow(dbl).to receive(the_answer: 42, some_method: "foobar")

[View source]