public
Description: Behaviour Driven Development framework for Ruby
Homepage: http://rspec.info
Clone URL: git://github.com/dchelimsky/rspec.git
Click here to lend your support to: rspec and make a donation at www.pledgie.com !
rspec /
name age message
file .autotest Sat Mar 07 09:01:49 -0800 2009 remove autotest/growl (for the moment - figure ... [dchelimsky]
file .document Sun Mar 22 15:21:14 -0700 2009 README => rdoc [dchelimsky]
file .gitignore Wed Sep 23 12:43:44 -0700 2009 add spec:focused rake task [dchelimsky]
file History.rdoc Mon Oct 05 16:10:53 -0700 2009 prep for 1.2.9 release [dchelimsky]
file License.txt Mon Feb 02 08:50:08 -0800 2009 update license [dchelimsky]
file Manifest.txt Sun Sep 27 10:41:06 -0700 2009 include Spec::Matchers in each Matcher - suppo... [dchelimsky]
file README.rdoc Thu Apr 30 03:08:08 -0700 2009 Update a couple of examples that are only faili... [dchelimsky]
file Rakefile Wed Sep 23 13:35:16 -0700 2009 check for spec/spec_files.txt first [dchelimsky]
file Ruby1.9.rdoc Mon Sep 14 02:26:36 -0700 2009 words [dchelimsky]
file TODO.txt Sat Mar 21 07:13:45 -0700 2009 words [dchelimsky]
file Upgrade.rdoc Mon Sep 07 23:18:37 -0700 2009 update History and Upgrade info [dchelimsky]
directory bin/ Sun Sep 13 19:24:11 -0700 2009 reinstate loading rspec lib dir from bin/spec [dchelimsky]
file cucumber.yml Sat Oct 03 08:42:16 -0700 2009 prepend tags with @ for new cucumber [dchelimsky]
directory examples/ Thu Aug 20 02:30:16 -0700 2009 trust the load path (more to do, but good start) [dchelimsky]
directory features-pending/ Wed Jul 29 05:44:01 -0700 2009 temporarily moved heckle feature to features-pe... [dchelimsky]
directory features/ Sun Sep 27 10:41:06 -0700 2009 include Spec::Matchers in each Matcher - suppo... [dchelimsky]
file geminstaller.yml Sun Sep 20 05:29:18 -0700 2009 add geminstaller.yml [dchelimsky]
file init.rb Thu Apr 03 15:02:31 -0700 2008 remove everything but rspec (core) from main rs... [dchelimsky]
directory lib/ Loading commit data...
directory resources/ Thu Aug 20 02:30:16 -0700 2009 trust the load path (more to do, but good start) [dchelimsky]
directory spec/
README.rdoc

RSpec

DESCRIPTION:

RSpec is a Behaviour Driven Development framework for writing executable code examples.

FEATURES:

  • Spec::Example provides a framework for organizing executable code examples
  • Spec::Expectations adds #should and #should_not to every object
  • Spec::Matchers provides Expression Matchers for use with #should and #should_not
  • Spec::Mocks is a full featured mock object/stubbing library

SYNOPSIS:

  describe Account do
    context "transfering money" do
      it "deposits transfer amount to the other account" do
        source = Account.new(50, :USD)
        target = mock('target account')
        target.should_receive(:deposit).with(Money.new(5, :USD))
        source.transfer(5, :USD).to(target)
      end

      it "reduces its balance by the transfer amount" do
        source = Account.new(50, :USD)
        target = stub('target account')
        source.transfer(5, :USD).to(target)
        source.balance.should == Money.new(45, :USD)
      end
    end
  end

  $ spec spec/account_spec.rb --format nested
  Account
    transfering money
      deposits transfer amount to the other account
      reduces its balance by the transfer amount

  2 examples, 0 failures

INSTALL:

  [sudo] gem install rspec

 or

 clone, build, install - See http://wiki.github.com/dchelimsky/rspec