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 !
Bryan Helmkamp (author)
Fri Nov 20 14:21:26 -0800 2009
dchelimsky (committer)
Fri Nov 20 14:38:20 -0800 2009
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 Fri Oct 30 10:37:46 -0700 2009 ignore tags [dchelimsky]
file History.rdoc Mon Oct 26 05:15:36 -0700 2009 update history [dchelimsky]
file License.txt Mon Feb 02 08:50:08 -0800 2009 update license [dchelimsky]
file Manifest.txt Wed Nov 04 14:00:06 -0800 2009 update manifest [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/ Fri Oct 30 10:52:01 -0700 2009 added feature for block local expectations [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/ Fri Nov 20 14:21:26 -0800 2009 Allow CTRL+C to halt an RSpec run [Bryan Helmkamp]
directory resources/ Thu Aug 20 02:30:16 -0700 2009 trust the load path (more to do, but good start) [dchelimsky]
directory spec/ Fri Nov 20 14:21:26 -0800 2009 Allow CTRL+C to halt an RSpec run [Bryan Helmkamp]
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