Module: Neospec::Expector::ErrorExpectors

Included in:
Neospec::Expector
Defined in:
lib/neospec/expector/error_expectors.rb

Instance Method Summary collapse

Instance Method Details

#to_raise(expected_error, expected_message = nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/neospec/expector/error_expectors.rb', line 4

def to_raise(expected_error, expected_message = nil)
  actual
  failed "to raise #{expected_error}, but nothing was raised"
rescue => error
  if error.instance_of?(expected_error)
    if expected_message.nil?
      succeeded "to raise #{expected_error}"
    elsif expected_message == error.message
      succeeded "to raise #{expected_error}, '#{expected_message}'"
    else
      failed "to raise #{expected_error}, '#{expected_message}', but got #{error.class}, '#{error.message}'"
    end
  else
    failed "to raise #{expected_error}, but got #{error.class}"
  end
end