RSpec on IRB
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin the irspec command Nov 1, 2011
lib version 0.0.2 Feb 29, 2012
.gitignore bundle gem interactive_rspec Oct 28, 2011
Gemfile bundle gem interactive_rspec Oct 28, 2011
README.rdoc tiny fix on the document Nov 1, 2011
Rakefile bundle gem interactive_rspec Oct 28, 2011


Interactive RSpec

RSpec on IRB


Execute RSpec matchers in the console

> (1+1).should == 3


     Failure/Error: Unable to find matching line from backtrace
       expected: 3
            got: 2 (using ==)
     # (irb):2

Finished in 18.53 seconds
1 example, 1 failure

Failed examples:

rspec ./.rvm/gems/ruby-1.8.7-p334/gems/interactive_rspec-0.0.1/lib/interactive_rspec.rb:44 #
=> false

Let's call this the “interactive RSpec”.

Execute spec file(s) via running IRB session

> irspec 'path/to/spec_file_spec.rb'

The filename parameter matches to various shortcuts such as:

'spec/foo'    => spec/foo_spec.rb
'models/user' => spec/models/user_spec.rb
'controllers' => spec/controllers/**/*_spec.rb
:all          => **/*_spec.rb

How to start

Launch an interactive RSpec console via CLI

% irspec

Launch an interactive RSpec console via running IRB session

> require 'rubygems'
> require 'interactive_rspec'
> irspec

With Rails

Bundle interactive_rspec gem

gem 'interactive_rspec'

% bundle

Start up your Rails console

% rails c

Then it's done!

You can check how the matchers work:

> irspec
> => 'matz').should_not be_valid

You can run any of the existing spec files:

> irspec 'spec/requests/users_spec.rb'

You might notice that it runs suuuuper fast since irspec uses already loaded Rails process.

Contributing to Interactive RSpec

  • Fork, fix, then send me a pull request.


Copyright © 2011 Akira Matsuda. See MIT-LICENSE for further details.