Sha256: bcb094a8dcd91c1c84ea29fdc19ddc1d38adb5ad3d44e54d17cba4fcd2e977a3

Contents?: true

Size: 1.95 KB

Versions: 2

Compression:

Stored size: 1.95 KB

Contents

# RSpec Core

Behaviour Driven Development for Ruby

## Upgrading from rspec-1.x

See Upgrade.markdown

## Install

    gem install rspec --prerelease

This will install the rspec, rspec-core, rspec-expectations and rspec-mocks
gems.

## Get Started

Start with a simple example of behavior you expect from your system. Do
this before you write any implementation code:

    # in spec/calculator_spec.rb
    describe Calculator, "add" do
      it "returns the sum of its arguments" do
        Calculator.new.add(1, 2).should eq(3)
      end
    end

Run this with the rspec command, and watch it fail:

    $ rspec spec/calculator_spec.rb
    ./spec/calculator_spec.rb:1: uninitialized constant Calculator

Implement the simplest solution:

    # in lib/calculator.rb
    class Calculator
      def add(a,b)
        a + b
      end
    end

Be sure to require the implementation file in the spec:

    # in spec/calculator_spec.rb
    # - RSpec adds ./lib to the $LOAD_PATH, so you can
    #   just require "calculator" directly
    require "calculator"

Now run the spec again, and watch it pass:
    
    $ rspec spec/calculator_spec.rb
    .

    Finished in 0.000315 seconds
    1 example, 0 failures

Use the documentation formatter to see the resulting spec:

    $ rspec spec/calculator_spec.rb --format doc
    Calculator add
      returns the sum of its arguments

    Finished in 0.000379 seconds
    1 example, 0 failures

## Configuration

You can define runtime configuration options in four places. They
are loaded and processed in this order:

* ~/.rspec
* .rspec
* RSpec.configure
* command line

Run `rspec --help` to see supported configuration options.

#### Also see

* [http://github.com/rspec/rspec](http://github.com/rspec/rspec)
* [http://github.com/rspec/rspec-expectations](http://github.com/rspec/rspec-expectations)
* [http://github.com/rspec/rspec-mocks](http://github.com/rspec/rspec-mocks)
* [http://github.com/rspec/rspec-dev](http://github.com/rspec/rspec-dev)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rspec-core-2.0.0.beta.10 README.markdown
rspec-core-2.0.0.beta.9 README.markdown