Method: MiniTest::Assertions#assert_raises
- Defined in:
- lib/minitest/unit.rb
permalink #assert_raises(*exp) ⇒ Object
Fails unless the block raises one of exp
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 |
# File 'lib/minitest/unit.rb', line 220 def assert_raises *exp msg = String === exp.last ? exp.pop : nil msg = msg.to_s + "\n" if msg should_raise = false begin yield should_raise = true rescue MiniTest::Skip => e details = "#{msg}#{mu_pp(exp)} exception expected, not" if exp.include? MiniTest::Skip then return e else raise e end rescue Exception => e details = "#{msg}#{mu_pp(exp)} exception expected, not" assert(exp.any? { |ex| ex.instance_of?(Module) ? e.kind_of?(ex) : ex == e.class }, exception_details(e, details)) return e end exp = exp.first if exp.size == 1 flunk "#{msg}#{mu_pp(exp)} expected but nothing was raised." if should_raise end |