module Minitest::Assertions

reopening to add additional functionality

Public Instance Methods

assert_error_raised(expected_msg, klass = Minitest::Assertion, &blk)
Alias for: assert_have_error
assert_have_error(expected_msg, klass = Minitest::Assertion) { |blk| ... } click to toggle source

Assertion method to test for an error raised by Minitest

assert_have_error('error message') { assert(false, 'error message') }

proc { assert(false, 'error message') }.must_have_error('error message')

Produces an extensive error message, combining the given error message with the default error message, when something is wrong.

NOTE! The expected error message can be a String or Regexp.

assert_have_error(/error message.+Actual:\s+\"b\"/m) do
  assert_equal('a','b', 'error message')
end

# or

proc { 
  assert_equal('a','b', 'error message') 
}.must_have_error(/error message.+Actual:\s+\"b\"/m)
# File lib/minitest/assert_errors.rb, line 30
def assert_have_error(expected_msg, klass = Minitest::Assertion, &blk)
  e = assert_raises(klass) do
    yield(blk) if block_given?
  end
  assert_match(expected_msg, e.message) if expected_msg.is_a?(Regexp)
  assert_equal(expected_msg, e.message) if expected_msg.is_a?(String)
end
assert_no_error() { |blk| ... } click to toggle source

Assertion method to test for no error being raised by Minitest

assert_no_error() { assert(true, 'error message') }

proc { assert(true) }.wont_have_error

Produces an extensive error message, combining the given error message with the default error message, when something is wrong.

NOTE! The expected error message can be a String or Regexp.

assert_no_error { assert_equal('a', :a, 'error message') }
  #=> "error message.\nExpected: \"a\"\n  Actual: :a"

proc { 
  assert_equal('a', :a, 'error message') 
}.wont_have_error
  #=> "error message.\nExpected: \"a\"\n  Actual: :a"
# File lib/minitest/assert_errors.rb, line 61
def assert_no_error(&blk)
  e = assert_silent do
    yield(blk) if block_given?
  end
end
assert_no_error_raised(&blk)
Alias for: assert_no_error
assert_returns_error(expected_msg, klass = Minitest::Assertion, &blk)

backwards compat. DO NOT USE!

Alias for: assert_have_error
refute_error(&blk)
Alias for: assert_no_error
refute_error_raised(&blk)
Alias for: assert_no_error