method
assert_throws
v2_1_10 -
Show latest stable
- Class:
MiniTest::Assertions
assert_throws(sym, msg = nil)public
Fails unless the block throws sym
# File lib/minitest/unit.rb, line 434
def assert_throws sym, msg = nil
default = "Expected #{mu_pp(sym)} to have been thrown"
caught = true
catch(sym) do
begin
yield
rescue ThreadError => e # wtf?!? 1.8 + threads == suck
default += ", not \:#{e.message[/uncaught throw \`(\w+?)\'/, 1]}"
rescue ArgumentError => e # 1.9 exception
default += ", not #{e.message.split(/ /).last}"
rescue NameError => e # 1.8 exception
default += ", not #{e.name.inspect}"
end
caught = false
end
assert caught, message(msg) { default }
end Related methods
- Instance methods
- _assertions
- _assertions=
- assert
- assert_empty
- assert_equal
- assert_in_delta
- assert_in_epsilon
- assert_includes
- assert_instance_of
- assert_kind_of
- assert_match
- assert_nil
- assert_operator
- assert_output
- assert_predicate
- assert_raises
- assert_respond_to
- assert_same
- assert_send
- assert_silent
- assert_throws
- capture_io
- capture_subprocess_io
- diff
- exception_details
- flunk
- message
- mu_pp
- mu_pp_for_diff
- pass
- refute
- refute_empty
- refute_equal
- refute_in_delta
- refute_in_epsilon
- refute_includes
- refute_instance_of
- refute_kind_of
- refute_match
- refute_nil
- refute_operator
- refute_predicate
- refute_respond_to
- refute_same
- skip
- skipped?
- synchronize
- Class methods
- diff
- diff=