Skip to content

Instantly share code, notes, and snippets.

@kinopyo
Created March 28, 2012 06:57
Show Gist options
  • Save kinopyo/2224385 to your computer and use it in GitHub Desktop.
Save kinopyo/2224385 to your computer and use it in GitHub Desktop.
rspec: should raise exception matcher
# http://rspec.rubyforge.org/rspec/1.3.0/classes/Spec/Matchers.html#M000183
lambda { do_something_risky }.should raise_exception
lambda { do_something_risky }.should raise_exception(PoorRiskDecisionError)
lambda { do_something_risky }.should raise_exception(PoorRiskDecisionError) { |exception| exception.data.should == 42 }
lambda { do_something_risky }.should raise_exception(PoorRiskDecisionError, "that was too risky")
lambda { do_something_risky }.should raise_exception(PoorRiskDecisionError, /oo ri/)
lambda { do_something_risky }.should_not raise_exception
lambda { do_something_risky }.should_not raise_exception(PoorRiskDecisionError)
lambda { do_something_risky }.should_not raise_exception(PoorRiskDecisionError, "that was too risky")
lambda { do_something_risky }.should_not raise_exception(PoorRiskDecisionError, /oo ri/)
lambda { Factory :booking }.should_not raise_exception(ActiveRecord::RecordNotSaved)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment