Expecting errors in rspec tests
rspec, ruby-on-rails
Solution
Your syntax looks correct. To debug this, simplify to make sure your spec is coded correctly.
it "should raise an error" do
lambda {raise "boom"}.should raise_error
end
And then add more detail until it breaks.
lambda {raise "boom"}.should raise_error(RuntimeError)
lambda {raise StandardError.new("boom")}.should raise_error(StandardError)
Problem
I'm trying to expect an error in an `rspec` test. ``` lambda {Participant.create!({:user_id => three.id, :match_id => match.id, :team => 1})}.should raise_error StandardError ``` For now I'm just using `StandardError` to make sure it's working. ``` 1) StandardError in 'Participant should never allow more participants than players'. This game is already full. Cannot add another player. /home/josiah/Projects/Set-Match/app/models/participant.rb:12:in `do_not_exceed_player_count_in_match' ./spec/models/participant_spec.rb:24: ``` It clearly throws the error, but my test still fails. Thoughts?