dchelimsky / rspec

Behaviour Driven Development framework for Ruby

This URL has Read+Write access

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 Tue Dec 29 14:31:47 -0800 2009 add raise_exception matcher - actually, change... [dchelimsky]
file License.txt Mon Feb 02 08:50:08 -0800 2009 update license [dchelimsky]
file Manifest.txt Mon Dec 28 10:53:33 -0800 2009 remove unnecessary spec [dchelimsky]
file README.rdoc Thu Apr 30 03:08:08 -0700 2009 Update a couple of examples that are only faili... [dchelimsky]
file Rakefile Thu Dec 03 05:29:40 -0800 2009 make Rakefile work without cucumber installed ... [devrandom]
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 Tue Dec 29 14:31:47 -0800 2009 add raise_exception matcher - actually, change... [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/ Wed Dec 30 19:52:28 -0800 2009 add another spec and doco for context [dchelimsky]
file geminstaller.yml Mon Nov 23 15:43:07 -0800 2009 switch to fakefs [dchelimsky]
file init.rb Thu Apr 03 15:02:31 -0700 2008 remove everything but rspec (core) from main rs... [dchelimsky]
directory lib/ Wed Dec 30 16:06:52 -0800 2009 Matchers defined using the DSL wrap Expectation... [jferris]
directory resources/ Thu Aug 20 02:30:16 -0700 2009 trust the load path (more to do, but good start) [dchelimsky]
directory spec/ Wed Dec 30 19:52:28 -0800 2009 add another spec and doco for context [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