Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: v2.12.0
Fetching contributors…

Cannot retrieve contributors at this time

50 lines (34 sloc) 1.478 kb

rspec-expectations is used to define expected outcomes.

describe Account do
  it "has a balance of zero when first created" do eq(

Basic structure

The basic structure of an rspec expectation is:

actual.should matcher(expected)
actual.should_not matcher(expected)

should and should_not

rspec-expectations adds should and should_not to every object in the system. These methods each accept a matcher as an argument. This allows each matcher to work in a positive or negative mode:

5.should eq(5)
5.should_not eq(4)

What is a matcher?

A Matcher is any object that responds to the following methods:


These methods are also part of the matcher protocol, but are optional:


RSpec ships with a number of built-in matchers and a DSL for writing custom matchers.


The documentation for rspec-expectations is a work in progress. We'll be adding Cucumber features over time, and clarifying existing ones. If you have specific features you'd like to see added, find the existing documentation incomplete or confusing, or, better yet, wish to write a missing Cucumber feature yourself, please submit an issue or a pull request.

Jump to Line
Something went wrong with that request. Please try again.