Rspec and Rspec::Rails install and usage
shell> gem install rspec
Overview
RSpec is a framework which provides programmers with a Domain Specific Language to describe the behaviour of Ruby code with readable, executable examples that guide you in the design process and serve well as both documentation and tests.
Here is how you do it
Start with a very simple example that expresses some basic desired behaviour.
# bowling_spec.rb
require 'bowling'
describe Bowling do
before(:each) do
@bowling = Bowling.new
end
it "should score 0 for gutter game" do
20.times { @bowling.hit(0) }
@bowling.score.should == 0
end
end
Run the example and watch it fail.
$ spec bowling_spec.rb
./bowling_spec.rb:4:
uninitialized constant Bowling
Now write just enough code to make it pass.
# bowling.rb
class Bowling
def hit(pins)
end
def score
0
end
end
Run the example and bask in the joy that is green.
$ spec bowling_spec.rb --format specdoc
Bowling
- should score 0 for gutter game
Finished in 0.007534 seconds
1 example, 0 failures
Install Rspec::Rails
ruby script/plugin install svn://rubyforge.org/var/svn/rspec/tags/CURRENT/rspec
ruby script/plugin install svn://rubyforge.org/var/svn/rspec/tags/CURRENT/rspec_on_rails
Bootstrap
Once the plugin is installed, you must bootstrap your Rails app with RSpec. Stand in the root of your Rails app and run:
ruby script/generate rspec
This will generate the various files needed to use RSpec with Rails.
Run specs with rake …
rake spec
... or run specs with scripts/spec
ruby script/spec spec
No comments :
Post a Comment