public
Fork of dchelimsky/rspec
Description: Behaviour Driven Development framework for Ruby
Homepage: http://rspec.info
Clone URL: git://github.com/spicycode/rspec.git
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 Mon Sep 07 12:44:34 -0700 2009 Enabling aggregate coverage information [spicycode]
file History.rdoc Sun Sep 06 15:15:20 -0700 2009 update history [dchelimsky]
file License.txt Mon Feb 02 08:50:08 -0800 2009 update license [dchelimsky]
file Manifest.txt Sat Aug 29 15:25:25 -0700 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 Loading commit data...
file Ruby1.9.rdoc Sun Mar 22 15:10:29 -0700 2009 Ruby.1.9 info => rdoc [dchelimsky]
file TODO.txt Sat Mar 21 07:13:45 -0700 2009 words [dchelimsky]
file Upgrade.rdoc Sun Aug 23 20:23:46 -0700 2009 update History [dchelimsky]
directory bin/ Sat Jan 24 15:27:36 -0800 2009 added explicit autorun feature for running spec... [dchelimsky]
file cucumber.yml Sun Mar 15 06:50:06 -0700 2009 Only run rcov and heckle with ruby 1.8 when run... [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 06 15:03:38 -0700 2009 Added its(attribute) method for implicit subjec... [stouset]
file init.rb Thu Apr 03 15:02:31 -0700 2008 remove everything but rspec (core) from main rs... [dchelimsky]
directory lib/ Tue Sep 08 09:52:05 -0700 2009 Inlining the before suite block, due to inconsi... [spicycode]
directory resources/ Thu Aug 20 02:30:16 -0700 2009 trust the load path (more to do, but good start) [dchelimsky]
directory spec/ Sun Sep 06 15:04:37 -0700 2009 add specs for #its method (only came w/ cukes) [dchelimsky]
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