Skip to content

module Spec::Expectations

This module defines a number of methods to create expectations, which are automatically included into the top level namespace.

Expectations are used by Spec::ObjectExtensions#should and Spec::ObjectExtensions#should_not.

Methods

#be(value)

Creates an Expectation that passes if actual and value are identical (.same?).

View source

#be

Returns a factory to create a comparison Expectation that:

  • passes if actual is lesser than value: be < value
  • passes if actual is lesser than or equal value: be <= value
  • passes if actual is greater than value: be > value
  • passes if actual is greater than or equal value: be >= value
View source

#be_close(expected, delta)

Creates an Expectation that passes if actual is within delta of expected.

View source

#be_empty

Creates an Expectation that passes if actual is empty (.empty?).

View source

#be_false

Creates an Expectation that passes if actual is false (== false).

View source

#be_falsey

Creates an Expectation that passes if actual is falsy (nil or false).

View source

#be_nil

Creates an Expectation that passes if actual is nil (== nil).

View source

#be_true

Creates an Expectation that passes if actual is true (== true).

View source

#be_truthy

Creates an Expectation that passes if actual is truthy (neither nil nor false).

View source

#contain(expected)

Creates an Expectation that passes if actual includes expected (.includes?). Works on collections and String.

View source

#end_with(expected)

Creates an Expectation that passes if actual ends with expected (.ends_with?). Works on String.

View source

#eq(value)

Creates an Expectation that passes if actual equals value (==).

View source

#expect_raises(klass : T.class, message : String | Regex | Nil = nil, file = __FILE__, line = __LINE__, &) forall T

Runs the block and passes if it raises an exception of type klass and the error message matches.

If message is a string, it matches if the exception's error message contains that string. If message is a regular expression, it is used to match the error message.

It returns the rescued exception.

View source

#match(value)

Creates an Expectation that passes if actual matches value (=~).

View source

#start_with(expected)

Creates an Expectation that passes if actual starts with expected (.starts_with?). Works on String.

View source

Macros

be_a(type)

Creates an Expectation that passes if actual is of type type (is_a?).

View source