"Its" makes testing methods with multiple arguments much easier

Tested on MRI Ruby 1.8.7, 1.9.2, 1.9.3, Rubinius (1.8 and 1.9) and JRuby Build Status

Have you ever written something like this in your specs?

it "should be US currency" do
  subject.currency(:us).should == 'US dollar'

it "should be AU currency" do
  subject.currency(:au).should == 'AU dollar'

it "should be UK currency" do
  subject.currency(:uk).should == 'UK pound'

If yes, then this is what you really needed:

its(:currency, :us) { should == 'US dollar' }
its(:currency, :au) { should == 'AU dollar' }
its(:currency, :uk) { should == 'UK pound' }

Installation and use

Add to your Gemfile:

gem 'its'

Then require it somewhere:

require 'its'

And you are done.


Please report any issues here or better submit a Pull Request.


MIT by me and RSpec guys where this code was extracted from.